小编Yas*_*oft的帖子

如何在内容脚本中使用Flowplayer功能?

我正在尝试编写一个Firefox附加组件供个人使用,并学习更多关于JavaScript和Firefox附加组件的SDK.加载项应该打开一个vivo.sxURL,然后自动启动播放器,但我有2个问题.我希望你们能帮助我.

相关的附加代码:

function vivoplay()
{
    pageMod.PageMod({
        include: "https://vivo.sx/*",
        contentScriptFile: "./vivoplay.js",
        onAttach: play
    });

    function play(worker)                       //Fires 2 Times
    {
        console.log("Timeout");
        tmr.setTimeout(sendplay, 14000);
        function sendplay() 
        {
            var a = 0;
            worker.port.emit("start", a);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

内容脚本

self.port.on("start", function(a) {
    console.log("Load");
    flowplayer().load();         //ReferenceError: flowplayer is not defined
    console.log("Loaded");
});
Run Code Online (Sandbox Code Playgroud)

第一个问题是函数play触发2次,但应该只运行一次.可能是onAttach因为它无法正常工作.你觉得怎么样?

更重要的问题是ReferenceError.我有一个Greasemonkey脚本,我使用该函数flowplayer().load();.我认为内容脚本像Greasemonkey脚本一样运行.所以,我应该能够使用这个功能.那是对的吗?我怎样才能解决这个问题?

我的油脂脚本

// ==UserScript==
// @name        3. Vivo
// @namespace   Autoplay
// @include     https://vivo.sx/* 
// @version     1
// @grant       none
// ==/UserScript== …
Run Code Online (Sandbox Code Playgroud)

javascript firefox-addon flowplayer firefox-addon-sdk

8
推荐指数
1
解决办法
227
查看次数