提问人:Miloš Đakonović 提问时间:9/30/2012 最后编辑:Brian Tompsett - 汤莱恩Miloš Đakonović 更新时间:9/13/2020 访问量:155
使用第三方 Javascript 执行文档的 Javascript 函数?
Executing document's Javascript function by using third-party Javascript?
问:
假设我有带有一个 Javascript 函数和一个按钮的 localhost/site/index.php:
<html>
<head>
<meta charset="utf-8" />
<title>Page Title</title>
<script type="text/javascript">
function my_function(){
alert('Hello eveeryone!');
}
</script>
</head>
<body>
<button type="button" onclick="my_function();" />Here is my button</button>
</body>
</html>
有没有办法在不点击按钮的情况下执行 - 通过使用某种书签或类似类型的浏览器内驻留 Javascript 或其他任何不意味着单击按钮默认与文档的 Javascript 交互的东西?my_function()
编辑: 更好的问题解释: 我可以使用 localhost/site/script.php 来触发位于 localhost/site/index.php 中的上述my_function吗?
答:
您可以使用 body 函数:onload
<body onload="my_function();">
您可以使用 jQuery 触发器。
$('button').trigger('click')
调用按钮的 onclick 处理程序。(实际上,所有按钮的 onclick 处理程序都被调用了。因此,也许为特定按钮创建一个类或 ID 来定位它)
我假设该网页不是您的,因此您不能直接修改它。因此,如果您有一种在页面上下文(书签或插件或类似的东西)中执行 javascript 的方法,并且您知道点击处理函数的名称是什么,那么您可以直接使用以下命令执行点击处理程序:
my_function()
编辑:因为现在从评论中可以看出,您实际上是在问一个关于您自己网页安全性的问题。
您无法阻止在自己的网页中执行 javascript 函数。人们可以通过多种方式从自己的浏览器将代码注入您的页面,这些浏览器可以调用您网页中可全局访问的任何内容。你无法阻止它。可以使直接调用事件处理程序变得更加困难,但这只会让它稍微增加一些工作,但并不能阻止它。
安全性必须在您的服务器上实现 - 它不能在网页中实现。浏览器客户端网页不是一个安全的环境。它可以自由修改。您尝试防止的任何内容都必须在服务器上实现。
评论