greaseMonkey 스크립트에서 jQuery().remove()
및 jQuery().unbind
메서드 (및 유사한 함수)를 사용하려고하는데 작동하지 않습니다. fireBug에서 똑같은 정확한 호출이 작동합니다. 나는 그것이 GM sandboxing과 관련이 있고 그 범위가 완전히 벗어났다는 것을 짐작하고있다.왜 jQuery(). remove()와 unbind()가 GreaseMonkey에서 작동하지 않습니까?
나는 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);
당신이 몇 가지 코드를 게시 할 수 있을까요? – mattsven
@ motionman95 : 어때? – qwertymk