2011-03-18 3 views
1

greaseMonkey 스크립트에서 jQuery().remove()jQuery().unbind 메서드 (및 유사한 함수)를 사용하려고하는데 작동하지 않습니다. fireBug에서 똑같은 정확한 호출이 작동합니다. 나는 그것이 GM sandboxing과 관련이 있고 그 범위가 완전히 벗어났다는 것을 짐작하고있다.왜 jQuery(). remove()와 unbind()가 GreaseMonkey에서 작동하지 않습니까?

나는 unsafeWindow.jQuery을 사용하려고 시도했으며 심지어 window = unsafeWindow이라고 선언했지만 아직 도움이되지 않았습니다.

기타 모든 jQuery 항목 (예 : cloneappend)은 완벽하게 작동합니다.

누구든지 이에 대한 의견이나 제안 사항이 있으십니까?

편집 : 코드 :

(function($) { 
    var changeURLs = function() { 
     var window = unsafeWindow; 
      $('.link-results li').each(function() { 
       var $a = $(this).find('a'), directUrl; 
       if ($a.hasClass('redirect')) return; 
       $a.unbind('click'); //!! Not working 
       if (/sidereel\.com/.test($a[1].href)) { // Megavideo like link 
        $.get($a[1].href, function(data) { 
         directUrl = $(data).find('.play-link')[0].innerHTML; 
         $a[1].href = $a[2].href = directUrl; 
         $a.each(function() { 
          unsafeWindow.console.log($(this).remove()); //!! Not working 
         }); 
        }); 
       } else { // Sponsered link 
        $a[2].href = $a[1].href; 
       } 
       $a.addClass('redirect'); 
      }); 
     }, 
     $thickBox = $('.ui-dialog-content'); 
    if ($thickBox.length) $thickBox.dialog('close') 

    changeURLs(); 
    jQuery('.link-results-container').bind('DOMNodeInserted', changeURLs); 
})(unsafeWindow.jQuery); 
+0

당신이 몇 가지 코드를 게시 할 수 있을까요? – mattsven

+0

@ motionman95 : 어때? – qwertymk

답변

관련 문제