我正在尝试将Greasemonky脚本转换为Firefox的扩展名,并且我试图让我的扩展程序在打开新选项卡时自动将简单脚本附加到任何网页.我正在从Greasemonkey转换脚本,因为我想利用高级首选项和菜单选项.
我使用以下方法访问选项卡:
var container = gBrowser.tabContainer;
container.addEventListener("TabOpen", tabAdded, false);
function tabAdded(event) {
var newtabwindow = event.target.____ //I don't know what goes here
//attach script to newtabwindow
}
Run Code Online (Sandbox Code Playgroud)
我的目标是在使用此函数加载后,将脚本附加到新选项卡中的文档:
function scriptrunner(targetwindow) {
var myScript = targetwindow.content.document.createElement('script');
myScript.type = 'text/javascript';
myScript.setAttribute('src','chrome://addonname/content/addonscript.js');
targetwindow.content.document.getElementsByTagName('head')[0].appendChild(myScript);
}
Run Code Online (Sandbox Code Playgroud)
当使用oncommand ="scriptrunner(window)"附加到工具栏按钮时,此函数可以很好地将脚本附加到当前页面,但我不知道如何在新打开的选项卡中访问该窗口,或者我应该如何从等式中删除窗口并以另一种方式访问文档.