我正在开发一个在状态栏中放置一个按钮的 Firefox 扩展。单击该按钮时,扩展程序会将一些 Javascript 注入(inject)当前页面。这个 Javascript 有一个函数,我想用一些参数调用它。我设法注入(inject)了代码,我已经通过 Firebug 检查了页面并验证了 JS 已被注入(inject)。如何从我的扩展程序调用页面中的 Javascript 函数?
--更多信息
这是我用来注入(inject) Javascript 的代码:
var doc = window.content.document;
//Add the script
var visibilityJS = doc.createElement("script");
visibilityJS.setAttribute("type", "text/javascript");
visibilityJS.setAttribute("charset", "UTF-8");
visibilityJS.setAttribute("src", "chrome://visibility/content/scripts/visibility.js");
head.appendChild(visibilityJS);
//Call the function
alert("Executing testfunction");
window.content.document.defaultView.testFunction();
..以及我要注入(inject)的 JS 文件中的代码。即 visibility.js
window.testFunction = function() {
alert("Message");
}
谢谢。
最佳答案
这成功了。我不知道技术细节。我从 Felix 那里得到了部分解决方案,从 here 那里得到了一部分。 .
window.content.document.defaultView.wrappedJSObject.testFunction();
关于javascript - 开发 Firefox 扩展时在页面中执行注入(inject)的 Javascript 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4215507/