Я пытаюсь написать надстройку Firefox для личного использования и узнать немного больше об JavaScript и Firefox Add-on SDK. Надстройка должна открыть URL-адрес vivo.sx
, а затем автоматически запустить плеер, но у меня есть 2 вопроса. Надеюсь, вы, ребята, можете мне помочь.Как использовать функции Flowplayer в сценарии содержимого?
Соответствующее дополнение-код:
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);
}
}
}
контент-скрипт
self.port.on("start", function(a) {
console.log("Load");
flowplayer().load(); //ReferenceError: flowplayer is not defined
console.log("Loaded");
});
Первая проблема заключается в том, что функция play
пожаров в 2 раза, но должен работать только один раз. Вероятно, onAttach
работает неправильно. Что ты об этом думаешь?
Важнейшей проблемой является ReferenceError
. У меня есть сценарий Greasemonkey, где я использую функцию flowplayer().load();
. Я думал, что скрипт содержимого работает как сценарий Greasemonkey. Поэтому я должен использовать эту функцию. Это верно? Как я могу это исправить?
мой Greasemonkey скрипт
// ==UserScript==
// @name 3. Vivo
// @namespace Autoplay
// @include https://vivo.sx/*
// @version 1
// @grant none
// ==/UserScript==
window.setTimeout(Play, 2000);
function Play()
{
flowplayer().load();
console.log("Loaded");
flowplayer().fullscreen();
console.log("Fullscreen started");
}
Я совсем новичок в этом так, пожалуйста, терпения со мной :)
Если вам нужна дополнительная информация, пожалуйста, оставьте комментарий.
Где вы определяете 'flowplayer()'? – Makyen
nowhere cause Я не знаю, чтобы определить его –
Тогда как он включается в среду, которую вы используете в Greasemonkey? Включен ли он как часть страницы, с которой вы пытаетесь взаимодействовать? – Makyen