Ich versuche, ein Firefox Add-on für den persönlichen Gebrauch zu schreiben und ein wenig mehr über JavaScript und das Firefox Add-on SDK zu lernen. Das Add-on sollte eine vivo.sx
URL öffnen und dann den Player automatisch starten, aber ich habe 2 Probleme. Ich hoffe ihr könnt mir helfen.Wie benutzt man Flowplayer-Funktionen in einem Inhaltsskript?
Der entsprechende Add-on-Code:
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);
}
}
}
content-Skript
self.port.on("start", function(a) {
console.log("Load");
flowplayer().load(); //ReferenceError: flowplayer is not defined
console.log("Loaded");
});
Das erste Problem ist, dass die Funktion play
Brände 2 mal, aber nur einmal ausgeführt werden soll. Es ist wahrscheinlich die onAttach
, die nicht richtig funktioniert. Was denkst du darüber? Das wichtigere Problem ist das ReferenceError
. Ich habe ein Greasemonkey-Skript, in dem ich die Funktion flowplayer().load();
verwende. Ich dachte, das Inhaltsskript läuft wie ein Greasemonkey-Skript. Also sollte ich diese Funktion nutzen können. Ist das korrekt? Wie kann ich das beheben?
mein Greasemonkey-Skript
// ==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");
}
Ich bin ganz neu in diesem so sein bitte Geduld mit mir :)
Wenn Sie mehr Informationen benötigen, lassen Sie einen Kommentar.
Wo definierst du 'flowplayer()'? – Makyen
Nirgendwo Ursache Ich weiß es nicht zu definieren –
Wie wird es dann in die Umgebung aufgenommen, die Sie in Greasemonkey verwenden? Ist es als Teil der Seite enthalten, mit der Sie interagieren möchten? – Makyen