使用第三方javascript执行文档的javascript函数?

时间:2012-09-29 18:28:28

标签: javascript javascript-events unobtrusive-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>

有没有办法在不点击按钮的情况下执行my_function() - 使用某种书签或类似的浏览器内驻留javascript 或任何其他不暗示点击按钮默认交互的内容用文档的javascript?

编辑: 更好地解释问题: 我可以使用localhost / site / script.php来触发上面提到的my_function,它位于localhost / site / index.php中吗?

3 个答案:

答案 0 :(得分:0)

您可以使用正文onload函数:

<body onload="my_function();">

答案 1 :(得分:0)

您可以使用jQuery触发器。

$('button').trigger('click')

调用按钮的onclick处理程序。 (实际上所有按钮&onclick处理程序都被调用。所以可能会为特定按钮创建一个类或id来定位它)

答案 2 :(得分:0)

我假设网页不是你的,所以你不能直接修改它。所以,如果你有一种在页面上下文中执行javascript的方法(bookmarklet或插件或类似的东西)并且你知道点击处理函数的名称是什么,那么你可以直接执行点击处理程序:

my_function()

编辑:因为现在从评论中可以看出您实际上是在询问有关您自己网页安全性的问题。

您无法阻止在自己的网页中执行javascript功能。人们可以通过各种方式从自己的浏览器中将代码注入您的页面,这些方法可以调用您的网页中可以全局访问的任何内容。你不能阻止这一点。直接调用事件处理程序可能会变得更加困难,但这只会使它稍微有点工作,但不会阻止它。

安全性必须在您的服务器上实现 - 它不能在网页中实现。浏览器客户端网页不是安全的环境。它可以自由修改。无论您想要保护什么,都必须在服务器上实现。