2011-03-18 92 views
1

我試圖在greaseMonkey腳本中使用jQuery().remove()jQuery().unbind方法(以及類似的功能),但它不起作用。雖然在fireBug中也有相同的確切的調用。我猜測它與GM沙盒和範圍是完全關閉的事實有關。爲什麼不在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 2011-03-18 17:01:01

+0

@ motionman95:它怎麼樣? – qwertymk 2011-03-18 17:05:42

回答