2014-02-09 1 views
1

내 Greasemonkey 스크립트는 내가 원하는대로 작동하지만 웹 사이트 자체에서 자바 스크립트를 차단합니다. 그들은 이제 더 이상 일하지 않습니다.Greasemonkey 스크립트는 웹 사이트의 다른 스크립트를 차단합니다

특정 컨테이너를로드 한 후 매우 유용한 waitForKeyElements()을 사용하여 일부 작업을 시작합니다.

다른 스크립트를 방해하는 것은 무엇입니까?

// @require  https://gist.github.com/raw/2625891/waitForKeyElements.js 
// @require  http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js 
// @grant   none 
// ==/UserScript== 

var newText = 'changed'; 

// changes after loading .containerid 
waitForKeyElements (
    "#containerid", renameTop 
); 

function renameTop() { 
    var searchlinkTop = document.getElementById('containerid'); 
     searchlinkTop.innerHTML = newText; 
} 

// some normal changes 

function waitForKeyElements (
// ... the script's content 

답변

1

"jQuery in Greasemonkey 1.0 conflicts..."을 참조하십시오.
문제는 @grant none입니다. 매우 Greasemonkey의 "기능"이 부족하여 충돌과 오류가 있음을 보장합니다. 당신은 단지 이 시간 그것은 그토록 분명하고 즉각 행운입니다.

변경 @grant none에서 @grant GM_addStyle으로 변경하십시오. 이렇게하면 샌드 박스가 복원되고 충돌이 제거됩니다.

+0

와우, 감사합니다. 그것은이 스크립트에서 작동했습니다. –

+0

와우, 고마워요! 그것은 나의 작은 대본을 위해 완벽하게 작동했습니다. 그러나 몇 달 동안이 문제로 고통받는 또 다른 큰 스크립트가 있습니다. 물론 나는 그곳에 당신의 충고를 시도했지만, 그것은 전체 대본을 깨뜨린 ...? 이 접근법에 대한 예외가 있습니까? 더 큰 스크립트는 다음을 사용합니다. // @require http://github.com/sizzlemctwizzle/GM_config/raw/master/gm_config.js GM_xmlhttpRequest ({method : "GET", url : 'http://ajax.googleapis.com/ajax/ libs/jquery/1.3.2/jquery.min.js ', onload : ...;}})); GM_registerMenuCommand (...); window.addEventListener ("load", Gm_main, false); $ ('div.twitter'). remove(); –

+0

두 번째 스크립트는 여러 가지 'GM_' 함수를 사용합니다. 각'GM_' 함수에'@ grant' 지시자를 추가해야합니다. 그 외에, 두 번째 스크립트에 대한 새로운 질문을 엽니 다 (이 대답을 답으로 표시 한 후). –

관련 문제