• Hallo Besucher!

    Du bist neu im Forum? Dann registriere dich hier, um Diskussionen beizutreten oder eigene Themen zu erstellen. Für die Registrierung ist es erforderlich, dass du einen Spielaccount bei Die Stämme hast.

    Andernfalls kannst du dich hier direkt einloggen.

    Falls du dein Passwort vergessen hast, kannst du hier ein neues Passwort anfordern.

localStorage und Greasemonkey

DeletedUser

Gast
Ich bin eben über localStorage gestolpert, was von Firefox 3.5 unterstützt wird. Beim Versuch das in eins meiner Scripts einzubauen, musste ich aber feststellen, dass es nicht geht. Sobald ich aus dem Greasemonkey-Script die Werte wieder auslesen will (speichern geht), steigt das Script einfach aus. Direkt in der Siete funktionierts, weshalb ich vermute, dass es an Greasemonkey liegt und nicht an Firefox selber. Weiß jemand mehr dazu?
 

DeletedUser

Gast
Moin,

wenn du window unter Greasemonkey mal ausgibst, kriegst du:
[object XPCNativeWrapper [object Window]]

Ich denk mal dass der Wrapper da im weg steht ^^

MfG
dispy
 

DeletedUser

Gast
also ich hab schon häufiger GM und localStorage zusammen benutzt und es klappt immer wunderba ^^

vllt kannst du ja mal ein paar code schnipsel hier rein schreiben, vielleicht sieht man dan worans liegt

kein PA
 

DeletedUser

Gast
Moin,

wenn du window unter Greasemonkey mal ausgibst, kriegst du:
[object XPCNativeWrapper [object Window]]

Ich denk mal dass der Wrapper da im weg steht ^^

Du hast recht. Mit unsafeWindow klappts einwandfrei.

Schade, dass Opera das nicht in die Version 10 eingebaut hat.
 

DeletedUser

Gast
Warum benutzt du nicht GM_setValue?
Das hat z.B. den Vorteil, dass nur dein Userscript drauf zugreifen kann, außerdem kannst du nicht nur Strings speichern.
 

DeletedUser

Gast
Weil das von der Technik her auch nur Cookies sind. localStorage gehört zum HTML5-Standard und wird damit früher oder später sichelrich auch in Opera und allen anderen Browsern Einzug halten.
 

DeletedUser24674

Gast
Aber nur sessionStorage - globalStorage gehört nicht zum Standart soweit ich weiß...
 

DeletedUser

Gast
Warum benutzt du nicht GM_setValue?
Das hat z.B. den Vorteil, dass nur dein Userscript drauf zugreifen kann, außerdem kannst du nicht nur Strings speichern.

*Totengräber*

vor allem weil man darauf aus mehreren Kontexten zugreifen kann *hust*


MfG
dispy
 

DeletedUser

Gast
Heute ist die Beta von Opera 10.5 erschienen, die soll es angeblich unterstützen. Ich teste das gerade mal.
 

DeletedUser

Gast
Die Alpha hatte es ja schon drinnen. Da hatte ich es aber noch nicht getestet.
Es wird ähnlich wie Cookies gehandhabt, das heißt Domainbasierend.
Wird in eine Datenbank geschrieben, die man leider nicht direkt am Browser auslesen kann.
Die Daten kann ich mit einem Firefox Plugin wenigstens bei Firefox auslesen.
Ich vermute mal, so kann jedes Skript, dass die gleiche Domain verwendet diese Variablen verändern.
Er kann nur Strings speichern, aber das sollte kein Problem sein. Dafür gibt es ja beispielsweise die Funktion split.

Es scheint sehr viel schneller wie GM_setValue zu sein. Besonders wenn man 2000 Variablen oder sowas speichert.

Erweiterte Dorfinfos auf der Karte läuft nach kleinen Veränderungen problemlos mit Opera 10.50.
 

DeletedUser

Gast
Mein Massenrekrutierungsscript läuft auch problemlos mit der Beta 1. Freut mich, damit haben es dann alle großen und "guten" Browser. Der IE interessiert ja nicht :)
 

DeletedUser61033

Gast
ja sehr nettes Teil - hat irgendwer was entdeckt bezüglich Speicherkapazität?

mfg
Heinzel
 

DeletedUser

Gast
Mein Massenrekrutierungsscript läuft auch problemlos mit der Beta 1. Freut mich, damit haben es dann alle großen und "guten" Browser. Der IE interessiert ja nicht :)

du hast auch von guten Browsern geredet^^
Safari, Chrome, Opera und Firefox kann es jeweils in der neuesten Version bzw. neuesten Beta-Version. Das sollte eigentlich fast reichen, dann sind auch die blöden Cookies von dir weg, das ist schon teilweise etwas blöd.
Mit Opera 10.5 wird dann auch von mir alle 4 wichtigen Browser unterstützt.
Bisher war es nur 1-3 davon.


Speicherkapazität scheint sehr groß zu sein, ist ja auch eine Datenbank.
Da sollte man einiges speichern können^^
 

DeletedUser

Gast
Jo, was mir an der Sache nur nicht schmeckt ist, das jeder in den Daten den anderen rumpfuschen könnte (Ob gewollt oder nicht sei mal dahingestellt) Vor allem dürfte es spassig werden, wenn 2 den gleichen prefix für ihre Daten verwenden, oder einer auf die glorreiche Idee kommt seine Daten mit localStorage.clear(); löschen zu wollen ^^

Ausserdem ist mir aufgefallen, das FF beim Speichern in localStorage tierisch lahm ist.
Gut ist allerdings, das es nix ausmacht, wenn der FF absemmelt, da die Daten im localStorage direkt geschrieben werden so wies aussieht....

Ich hatte versucht, den globalStorage in die Gänge zu kriegen, leider ohne Erfolg, da es mich auch ein bisschen stört, das ich mit localStorage nur an die Daten einer Welt komme.
 
Zuletzt bearbeitet von einem Moderator:

DeletedUser

Gast
ja sehr nettes Teil - hat irgendwer was entdeckt bezüglich Speicherkapazität?

mfg
Heinzel
Bei FF, Opera, Safari und Chrome jeweils 5 MB pro localStorage. Bei IE8 10MB und beim 7er 128kB.

Jo, was mir an der Sache nur nicht schmeckt ist, das jeder in den Daten den anderen rumpfuschen könnte (Ob gewollt oder nicht sei mal dahingestellt) Vor allem dürfte es spassig werden, wenn 2 den gleichen prefix für ihre Daten verwenden, oder einer auf die glorreiche Idee kommt seine Daten mit localStorage.clear(); löschen zu wollen ^^
Jo die Problematik habe ich weiter oben ja schon angesprochen. Ich finde es natürlich sinnvoll in Opera (und anderen nicht GM-fähigen Browsern) die GM-values damit zu ersetzen, allerdings sollte man in Firefox weiterhin die GM_ Funktionen verwenden.
Auch sollte man daran denken, dass auch DS das localStorage in Zukunft nützen könnte. Da könnte es dann auch zu Konflikten mit Scripten kommen.
Ich hatte versucht, den globalStorage in die Gänge zu kriegen, leider ohne Erfolg, da es mich auch ein bisschen stört, das ich mit localStorage nur an die Daten einer Welt komme.
Funktioniert auch nicht mit globalStorage.
globalStorage unterstützt auch nur vollständige Domains (jedenfalls in der neusten FF Version). D.h. de6.die-staemme.de kann nicht auf das globalStorage["die-staemme.de"] zugreifen, sondern nur auf globalStorage["de6.die-staemme.de"].
 
Zuletzt bearbeitet von einem Moderator:
Oben