【发布时间】:2012-02-14 05:17:12
【问题描述】:
我正在编写一个 Safari 扩展程序,为我不拥有的网页添加一些功能。我希望我注入的 JavaScript 页面能够触发主机页面使用的一些 JavaScript 函数,但它不起作用。在控制台上,我收到消息 ReferenceError: Can't find variable: function_name。
我的脚本被指定为结束脚本,因此应该加载整个页面。该函数也从页面上的 onclick() 处理程序调用,如下所示:
onclick="function_name($(this).up());"
我可以获得对该页面元素的引用,但是当我调用 element.onclick() 时,我收到另一个错误:TypeError: 'undefined' is not a function (evaluating '$(this).up()')。
奇怪的是,当我从 AppleScript (do JavaScript "function_name()" in page) 调用 JavaScript 函数时,它工作正常。如何触发这些函数?
【问题讨论】:
标签: javascript automation obfuscation safari-extension