2012-05-01 2 views
0

Я пытаюсь сделать букмарклет, чтобы изменить курсор любой страницы, которую я посещаю.Почему мой букмарклет не работает?

Я делаю это:

<a href="javascript:var i,s,ss=['http://www.zombiepanic.info/wp-content/themes/MYgRID/js/tronc.js','http://code.jquery.com/jquery-1.7.2.min.js'];for(i=0;i!=ss.length;i++){s=document.createElement('script');s.src=ss[i];document.body.appendChild(s);}void(0);"> Go! </a> 

и мой файл JS является:

(function() { 

    function getCssTransform() { 

     $('body').css('cursor','crosshair'); 

    } 

getCssTransform(); 


})(); 

Это работа отлично в empty.html странице я сделал, но когда я wan't использовать в гугле или facebook или другой сайт, сценарий вводится, но мой курсор не изменяется ...

Любые идеи?

(Ps: Извините за английский, я французский)

EDIT:

(function ($) { 

$(document).ready(function() { 

document.body.style.cursor="crosshair"; 
}); 

})(jQuery); 

Я стараюсь, но это та же самая проблема.

+0

Страницы могут иметь свои собственные стили, которые переопределяют стиль тела, который вы применяете. (Им также может понадобиться их собственная версия jQuery, поэтому то, что вы делаете, может привести к тому, что некоторые сайты не будут работать вообще.) – Pointy

ответ

0
(function(){var a=document.createElement("style"); 
a.innerText="*{cursor:crosshair !important}";document.body.appendChild(a) 
})() 

похоже работает нормально. (Для ясности разбиты до 3 строк.)

+0

Да, это благодаря работе! Но если я хочу применить изображение вместо перекрестия, это не сработает снова. – Cat

+0

Вы должны были упомянуть, что вы будете использовать для этого URL-адрес. Возможно, вы столкнулись с кросс-доменными ограничениями - в одном направлении (если это проблема - я не знаю, если это так), то нужно обратиться к «data:' urls. – AKX

+0

Я применяю второй аргумент не-url для курсора. Это прекрасно! – Cat