1. Nachrichten
  2. Forum
    1. Unerledigte Themen
    2. Forenregeln
  3. Spenden
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. camp-firefox.de
  2. computerfreak

Beiträge von computerfreak

  • Add-on SDK und emit - Verständnisfrage

    • computerfreak
    • 29. April 2015 um 19:15

    Vielen Dank fürs verschieben, ich hatte gehofft hier auch Entwickler anzutreffen. Mein Problem von gestern konnte ich inzwischen lösen, indem ich in main.js

    Code
    let worker = workers.Worker({
    	window: require("sdk/window/utils").getMostRecentBrowserWindow(),
    	contentScriptFile: self.data.url("MyScript.js")
    });


    das hier eingebaut habe. Soweit läuft es, aber nachdem ich mein AddOn mehrfach mit cfx run gestartet habe bekomme ich folgende Fehlermeldung:
    "Message: Error: The page is currently hidden and can no longer be used until it is visible again." weiter später heißt es in der Meldung dann "resource://gre/modules/commonjs/sdk/content/worker.js:241:1" daher vermute ich, daß es an dem neu angelegtem worker liegt, aber ich weiß nicht was ich da noch falsch mache. Sobald ich den Comandoshell beende und neu starte gehts dann wieder eine Weile

  • Was bedeutet diese Fehlermeldung?

    • computerfreak
    • 29. April 2015 um 14:47

    Ich habe ein main.js und ein MyScript.js (content script) die sich gegenseitig Nachrichten schicken. Das MyScript,js legt temporär auch 2 Dokumente an (document.implementation.createHTMLDocument), die am Ende wieder mit close() geschlossen werden.

    Soweit funktioniert es auch, die Messages warden ausgetauscht zwischen den beiden Scripten, aber wenn ich die Command Shell offen lasse und mehrfach hintereinander cfx run ausführe, dann kommt nach einer Weile die Meldung "document is currently hidden and can no longer be used until it is visible again". Die Meldung scheint beim Versenden der Nachricht zu kommen. Wenn ich die CMD.exe zu mache und neu starte funktioniert alles wieder für eine Weile.

    Was genau bedeutet das? Wodurch wird diese Meldung erzeugt? Hat sich die Pipe verklemmt oder liegt es an meinen temporären Dokumenten?

  • Add-on SDK und emit - Verständnisfrage

    • computerfreak
    • 28. April 2015 um 21:38

    Hallo

    ich hoffe hier kann mir jemand weiterhelfen. Leider ist mein Englisch nicht ganz so gut, so daß ich die Doku nicht komplett nachvollziehen kann.

    Ich versuche mich an einem Plugin für den Firefox mit dem SDK und verstehe nicht wie das mit dem Emit gemacht wird.

    Ich möchte aus dem Main.js Daten an mein ContentScript senden und von da Daten wieder zurück. Allerdings soll das nicht beim Laden geschehen sondern erst später.

    aktuell habe ich folgenden Code:
    main.js:

    Code
    var pageMod = require("sdk/page-mod");
    
    
    pageMod.PageMod({
    	include: "*.wwww.com",
    	contentScriptFile: self.data.url("MyScript.js"),
    });
    
    
    worker.port.on("FinishedParse", FinishedParse(doc));
    var button = buttons.ActionButton({
    	id: "mozilla-link",
    	label: "Sammel Erfolge",
    	icon: {
    		"16": "./icon-16.png",
    		"32": "./icon-32.png",
    		"64": "./icon-64.png"
    	},
    	onClick: handleClick
    });
    
    
    self.port.on("FinishedParse", FinishedParse(text));
    
    
    function handleClick(state)
    {
    
    
      var Text="xxxxx";
      pageMod.worker.port.emit("ParseData", Text);
    }
    
    
    function FinishedParse(doc)
    {
    	console.log("Finished parse received " + doc);
    }
    Alles anzeigen

    und MyScript.js:

    Code
    var self = require("sdk/self");
    
    
    self.port.on("ParseData", ParseData(html));
    
    
    
    
    function ParseData(html)
    {
           var doc = "ffffff";
    	...
    	self.port.emit("FinishedParse", doc);
    };
    Alles anzeigen

    Mit diesem Sourcecode bekomme ich aber nur Fehlermeldungen, daß er zb den worker nicht kennt. Bei dem Bsp auf der Mozillaseite wird dieser über eine Funktion übergeben, aber wo bekomme ich den her, wenn ich das nicht beim Start sondern erst später aufrufen möchte?

Unterstütze uns!

Jährlich (2025)

101,9 %

101,9% (662,48 von 650 EUR)

Jetzt spenden
  1. Kontakt
  2. Datenschutz
  3. Impressum
Community-Software: WoltLab Suite™
Mastodon