kostenloser Webspace werbefrei: lima-city


GM_getValue in unsafeWindow

lima-cityForumDie eigene HomepageHTML, CSS & Javascript

  1. Autor dieses Themas

    fabo

    fabo hat kostenlosen Webspace.

    Moin,

    ich stehe vor einem Rätsel. Ich versuche ein Userscript zu erweitern und stehe vor dem Problem, dass ich auf unsafeWindow angewiesen bin.

    Innerhalb von unsafeWindow möchte ich nun GM_getValue bzw. GM_setValue (Greasemonkey API) nutzen, was aber aus sicherheitsgründen nicht ohne Weiteres funktioniert.

    Nun habe ich mir zwei Funktionen geschrieben (basierend auf diesem Workaround), welche wie folgt aussehen:

    function _get_option_value(option) {		
    		w.Arbiter.registerCallback(function() {
    			setTimeout(function() {
    				return GM_getValue(option);
    			}, 0);
    		});
    	}
    	
    	function _set_option_value(option, value) {
    		w.Arbiter.registerCallback(function() {
    			setTimeout(function() {
    				GM_setValue(option, value);
    			}, 0);
    		});
    	}


    _set_option_value funktioniert ohne Probleme. _get_option_value bereitet mir jedoch Sorgen. Rufe ich _get_option_value irgendwo auf, wird nichts zurück gegeben:

    alert(_get_option_value('autohide'));


    Dies sollte eigentlich einen Wert zurückgeben. Tut es aber nicht.

    Wenn ich jedoch die Funktion etwas modifiziere, erhalte ich den gewünschten Wert:

    function _get_option_value(option) {		
    		w.Arbiter.registerCallback(function() {
    			setTimeout(function() {
    				alert(GM_getValue(option));
    			}, 0);
    		});
    	}


    Ergo geht der Wert zwischen Abfrage und Rückgabe verloren und ich habe echt keine Ahnung, woran das liegt...

    EDIT: Hat sich erledigt. Ich habs aufgegeben :)

    Beitrag zuletzt geändert: 29.7.2011 16:04:30 von fabo
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!