2012-12-15 7 views
5

Czy można przechowywać dane w domenach przy użyciu skryptu Greasemonkey? Chcę zezwolić na dostęp do obiektu Javascript z wielu stron internetowych, które używają tego samego skryptu Greasemonkey.Lokalna pamięć masowa w domenach przy użyciu skryptu Greasemonkey

+0

myślę, że może to być możliwe, aby przechowywać dane przy użyciu 'GM_setvalue', ale nie jestem pewien, czy to może być dzielone między domenami. –

+0

Odpowiednią dokumentację dla 'GM_setvalue' można znaleźć tutaj: http://wiki.greasespot.net/GM_setValue –

+0

Może być możliwe udostępnianie danych między skryptami w jakiś sposób: https://www.google.com/#hl=en&tbo= d & sclient = psy-ab i q = greasemonkey + share + data + między + skryptami i oq = greasemonkey + share + data & gs_l = hp.3.0.0i30.631.7873.0.8967.37.28.5.0.0.1.466.3611.20j3j2j1j2.28.0.les% 3Beqn% 2Ccconf% 3D1-2% 2Cmin_length% 3D2% 2Crate_low% 3D0-035% 2Crate_high% 3D0-035% 2Csecond_pass% 3Dfalse% 2Cumbers_suggestions% 3D2% 2Cignore_bad_origquery% 3Dtrue% 2Conetoken% 3Dfalse..0.0 ... 1c.1.zI9OfljWoTg & pbx = 1 & bav = on .2, lub.r_gc.r_pw.r_cp.r_qf. & Bvm = bv.1355325884, d.dmQ & fp = 71808782448558fd & bpcl = 39967673 & biw = 1366 & bih = 631 –

Odpowiedz

9

Tak, jest to jeden z celów GM_setvalue(), przechowuje dane, dla skryptu i między domenami.

Należy pamiętać, że standard torfowy GM_setValue() jest nieco problematyczny. Może używać wielu zasobów globalnych lub powodować awarię wystąpienia skryptu.

Oto kilka wskazówek:

  1. Nie używają GM_setValue() przechowywać niczego oprócz łańcuchów. Aby uzyskać cokolwiek innego, użyj serializera, takiego jak GM_SuperValue. Nawet niewinnie wyglądające liczby całkowite mogą spowodować awarię domyślną GM_setValue().

  2. Zamiast przechowywać wiele małych zmiennych, lepiej jest zawinąć je w obiekt i zapisać w jednym z serializerów.


wreszcie zauważyć, że localStorage ma szczególne znaczenie w JavaScript, a localStoragejest domeny specyficzna.

-1

http://wiki.greasespot.net/GM_setValue

foo = "This is a string"; 

GM_setValue('myEntry', foo); 

http://wiki.greasespot.net/GM_getValue

bar = GM_getValue('myEntry'); 

bar = GM_getValue('myOtherEntry', "default value if no value was found"); 

http://wiki.greasespot.net/GM_deleteValue

GM_deleteValue('myEntry'); 

GM_deleteValue('myOtherEntry'); 

https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Storage

foo = "this is a string"; 

localStorage.setItem('myEntry', foo); 

bar = localStorage.getItem('pointer') || "default value"; 

localStorage.removeItem('myEntry'); 

lub po prostu ...

localStorage.myEntry = "this is a string"; 

bar = localStorage.myEntry; 
+2

Nie rozwiązałeś problemów związanych z domeną tego samego zapytania. –