我正在尝试在greaseMonkey脚本中使用jQuery().remove()
和jQuery().unbind
方法(以及类似的函数),但它不起作用。虽然相同的确切调用在fireBug中工作。我猜它与GM沙盒有关,而且范围完全关闭。
我确实尝试使用unsafeWindow.jQuery
,甚至宣布window = unsafeWindow
但它没有帮助。
所有其他jQuery内容(例如clone
append
)工作正常。
有人对此有任何想法或建议吗?
编辑:代码:
(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);