Я пытаюсь использовать методы jQuery().remove()
и jQuery().unbind
(и аналогичные функции) в скрипте greaseMonkey, но он не работает. В 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);