2012-12-15 13 views
5

È possibile memorizzare i dati tra domini utilizzando uno script Greasemonkey? Voglio consentire l'accesso a un oggetto Javascript da più siti Web che utilizzano lo stesso script Greasemonkey.Archiviazione locale tra domini tramite uno script Greasemonkey

+0

penso che potrebbe essere possibile memorizzare i dati utilizzando 'GM_setvalue', ma non sono sicuro se può essere condiviso tra domini. –

+0

La documentazione pertinente per 'GM_setvalue' può essere trovata qui: http://wiki.greasespot.net/GM_setValue –

+0

Potrebbe essere possibile condividere dati tra gli script in qualche modo: https://www.google.com/#hl=en&tbo= d & sclient = psy-ab & q = + Greasemonkey quota + dati + tra + script e oq = + Greasemonkey azionari + dati & 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% 2Cnum_suggestions% 3D2% 2Cignore_bad_origquery% 3Dtrue% 2Conetoken% 3Dfalse..0.0 ... 1c.1.zI9OfljWoTg & PBX = 1 & BAV = on .2, or.r_gc.r_pw.r_cp.r_qf. & Bvm = bv.1355325884, d.dmQ & fp = 71808782448558fd & bpcl = 39967673 & biw = 1366 & bih = 631 –

risposta

9

Sì, questo è uno degli scopi di GM_setvalue(), memorizza i dati, per script e tra domini.

Fare attenzione che lo standard di torbiera GM_setValue() è in qualche modo problematico. Può utilizzare molte risorse globali o causare l'arresto anomalo di un'istanza di script.

Ecco alcune linee guida:

  1. Non utilizzare GM_setValue() per memorizzare qualsiasi cosa, ma le stringhe. Per qualsiasi altra cosa, utilizzare un serializzatore come GM_SuperValue. Persino interi innocenti possono causare l'arresto anomalo dello GM_setValue() predefinito.

  2. Anziché memorizzare un sacco di piccole variabili, potrebbe essere meglio racchiuderle in un oggetto e memorizzarle con uno dei serializzatori.


infine notare che localStorage ha un significato specifico in javascript, e localStorageè dominio specifico.

-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'); 

o semplicemente ...

localStorage.myEntry = "this is a string"; 

bar = localStorage.myEntry; 
+2

Non hai risolto i dubbi relativi all'intero dominio della domanda. –

Problemi correlati