-2

假设我有 localhost/site/index.php 和一个 Javascript 函数和一个按钮:

<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 来触发上面提到的驻留在 localhost/site/index.php 中的 my_function 吗?

4

3 回答 3

0

您可以使用身体onload功能:

<body onload="my_function();">
于 2012-09-29T18:31:58.737 回答
0

您可以使用 jQuery 触发器。

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

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

于 2012-09-29T18:32:45.820 回答
0

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

my_function()

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

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

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

于 2012-09-29T18:33:15.030 回答