2014-12-09 7 views
1

숫자 ID 목록을 GM_setValue()을 사용하여 구분 된 문자열로 저장하는 Greasemonkey 스크립트가 있습니다. 스크립트는이 목록을 사용하여 게시판의 항목을 필터링합니다.Greasemonkey 스크립트에서 각 도메인에 대해 다른 변수 사용

이 스크립트가 여러 도메인에서 작동하도록하는 최선의 방법을 알아 내려고 노력 중이므로 각 도메인마다 자체 ID 목록이 있습니다. 현재 로선 한 사이트에서 ID "12345"를 필터링하면 모든 다른 사이트에서도 필터링됩니다.

각 ID에 도메인을 추가하고 ID + 도메인 조합을 검색 할 수 있다는 것을 알았지 만 그것이 유일한 선택 사항이 아니라면 공간을 절약하는 것을 선호합니다. 이상적으로는 각 도메인마다 별도의 변수가 있습니다.

답변

0

location.hostname을 사용하여 도메인을 얻은 다음 GM_setValueGM_getValue과 함께 사용할 키를 생성 할 수 있습니다. 그 후에 나머지 코드는 동일합니다. 예를 들어

:

이것은 당신이 방문하는 각 도메인에 대해 별도의 idList 유지
// ==UserScript== 
// @name  _Store and retrieve a comman var that's unique to each domain 
// @include http://DOMAIN_1.COM/YOUR_PATH/* 
// @include http://DOMAIN_2.COM/YOUR_PATH/* 
// @include http://DOMAIN_3.COM/YOUR_PATH/* 
// @grant GM_getValue 
// @grant GM_setValue 
// ==/UserScript== 
var storageKey = "IDs_" + location.hostname; 
var idList  = GM_getValue (storageKey, ""); 

console.log ("This site's list was: ", idList); 

idList   += ",7"; 

GM_setValue (storageKey, idList); 


가 (즉, @include, @match 및 @exclude 지침과 일치).