Tach!
Also... ich habe ein GM-Userscript HIER zu einem FF-Addon umwandeln lassen. Nach einigen Anpassungen läuft das Addon nun auch fehlerfrei. Der Grunde warum ich lieber ein Addon daraus machen möchte ist, einem Addon kann ich Dateien mit auf den Weg geben. Ich möchte nämlich .WAV Dateien direkt von dem Client abspielen lassen. Und genau das will nicht richtig funktionieren. Und nur deshalb stricke ich es jetzt ja zu einem Addon um.
Zu testen habe ich diesen Code eingefügt:
var player = Components.classes["@mozilla.org/sound;1"].createInstance(Components.interfaces.nsISound);
var ios = Components.classes['@mozilla.org/network/io-service;1'].getService(Components.interfaces.nsIIOService);
var sound = ios.newURI('chrome://jetztonline/content/change.wav', null, null);
player.play(sound);
Füge ich es in das Haupt-JS "jetztonline.js" ein erhalte ich die Fehlermeldung:
Error: <URL> permission was denied to get property XPCComponents.classes
Source file: chrome://jetztonline/content/script-compiler.js Zeile: 597
Aha!
Befindet sich der Code in dem Script "jetztonline.js" dem ehemaligen Userscript fehlen mir die Rechte es auszuführen.
Füge ich den Code in die Datei "script-compiler.js" die ja auch als Fehlerquelle angegeben wird ein, höre ich schon mal was. Naja ein Kratzen aber nicht das Orginal WAV (warum auch immer)
Das Problem könnte ich jetzt auf 2 Wege lösen.
Wie bekomme ich die Rechte den Code in dem "jetztonline.js" auszuführen.
Oder wie rufe ich den Code gezielt in der "script-compiler.js" auf.
script-compiler.js wandelt GM-spezifische Befehle um. Die Funktionsweise bleibt mir weitesgehend verschlossen. Ich vermute mal ganz frech das ich dort diesen Service erst formulieren muss, damit das Hauptscript darauf zurückgreifen kann. Nur wie? Das ist für mich noch deutich zu hoch - leider :(
Wenn erwünscht poste ich das Script auch noch komplett.... das ist halt nur etwas länger daher lasse ich das erstmal aus.
Gruß von der Nachtschicht
Markus