2012-12-15 27 views
5

Có thể lưu trữ dữ liệu trên các tên miền bằng tập lệnh Greasemonkey không? Tôi muốn cho phép một đối tượng Javascript được truy cập từ nhiều trang web đang sử dụng cùng một tập lệnh Greasemonkey.Lưu trữ cục bộ trên các tên miền sử dụng tập lệnh Greasemonkey

+0

Tôi nghĩ rằng nó có thể là khả năng lưu trữ dữ liệu sử dụng 'GM_setvalue', nhưng tôi không chắc chắn nếu nó có thể được chia sẻ trên các lĩnh vực. –

+0

Có thể tìm thấy tài liệu liên quan cho 'GM_setvalue' tại đây: http://wiki.greasespot.net/GM_setValue –

+0

Có thể chia sẻ dữ liệu giữa các tập lệnh bằng cách nào đó: https://www.google.com/#hl=vi&tbo= d & sclient = psy-ab & q = greasemonkey + chia sẻ + dữ liệu + giữa + tập lệnh & oq = greasemonkey + chia sẻ + dữ liệu & 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, hoặc.r_gc.r_pw.r_cp.r_qf. & Bvm = bv.1355325884, d.dmQ & fp = 71808782448558fd & bpcl = 39967673 & biw = 1366 & bih = 631 –

Trả lời

9

Có, đó là một trong các mục đích của GM_setvalue(), nó lưu trữ dữ liệu, cho mỗi tập lệnh và trên các tên miền.

Hãy coi chừng rằng chuẩn bog-GM_setValue() có vấn đề. Nó có thể sử dụng rất nhiều tài nguyên toàn cầu hoặc gây ra một kịch bản lệnh sụp đổ.

Dưới đây là một số hướng dẫn:

  1. Không sử dụng GM_setValue() để lưu trữ bất cứ điều gì nhưng chuỗi. Đối với bất cứ điều gì khác, sử dụng một serializer như GM_SuperValue. Ngay cả các số nguyên tìm kiếm vô tội cũng có thể làm cho số lỗi GM_setValue() bị lỗi.

  2. Thay vì lưu trữ nhiều biến nhỏ, có thể tốt hơn là bọc chúng trong một đối tượng và lưu trữ với một trong các bộ nối tiếp.


Cuối cùng lưu ý rằng localStorage có một ý nghĩa đặc biệt trong javascript, và localStorage miền cụ thể.

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

hay chỉ là ...

localStorage.myEntry = "this is a string"; 

bar = localStorage.myEntry; 
+2

Bạn không giải quyết được các mối quan tâm về tên miền chéo của câu hỏi. –

Các vấn đề liên quan