在打开的页面上调用特定于页面的功能

时间:2012-08-31 13:10:58

标签: javascript-events tabs firefox-addon firefox-addon-sdk

在Firefox扩展程序中,我目前正在使用插件构建器进行开发,我在新选项卡中打开一个页面,我想在此页面上调用脚本中定义的JS函数。为此我使用此代码:

var toOpenTab = require("tabs");
toOpenTab.on('open', function(tab){
    toOpenTab.on('ready', function(tab){
        tab.attach({
            contentScript:
                "function showFile(){PageSpecificFunction()};window.onload=showFile();"
        });

    });

});

我实现window.onload事件以确保包含PageSpecificFunction()定义的脚本在页面中加载,即使我认为没有必要(因为我使用toOpenTab.onReady事件) )。

问题是:未定义PageSpecificFunction()。我知道函数已正确定义并且工作正常,因为我可以在firebug控制台中调用它并且它可以正常工作。

有没有办法让我的分机在我的页面打开后调用此功能?

1 个答案:

答案 0 :(得分:1)

您需要使用全局unsafeWindow对象:

unsafeWindow.PageSpecificFunction();

However this is a security risk