Buduję rozszerzenie Google Chrome, które umieszcza znacznik IMG w witrynach. Ten znacznik img na: hover musi wyświetlać niestandardowy kursor. Rozszerzenie używa jQuery jako wstrzykniętego rdzenia skryptu. Próbowałem następujące metody:Niestandardowy kursor rozszerzenia przeglądarki Chrome
1.
var cursor = 'url('+chrome.extension.getURL('icons/cursor.cur')+')';
$('#myImgId').css({
'position': 'absolute',
'top':'5px',
'left':'5px',
'cursor':cursor
});
Jest to najlepszy roboczego. W mniejszych witrynach pokazuje kursor. Na wolniejszych stronach ładujących nie. Ale na małych stronach czasami się nie udaje.
2.
var cursor = 'url('+chrome.extension.getURL('icons/cursor.cur')+')';
$('<style>#myImgId{cursor:'+cursor+'}</style>').appendTo('head');
To nie zrobił nic w ogóle.
3.
manifest.json Wstrzyknąłem CSS.
"content_scripts": [
{
"matches": ["http://*/*"],
"css": ["css/style.css"],
"js": ["j/c.js", "j/s.js"]
}
Plik css właśnie miał kursora: url (ikony/cursor.cur) jak nie mam pojęcia, jak dostać się prawdziwy adres URL w pliku CSS. To w ogóle nie działa. Myślę, że to musi działać w ten sposób, ale nie znalazłem dla tego odniesienia na code.google.
To jest blisko prawdy. W ten sposób znalazłem to: http://code.google.com/chrome/extensions/i18n.html#overview-predefined, gdzie widzę to: "Uwaga: Pliki CSS skryptu treści nie mogą korzystać z predefiniowanych wiadomości, takich jak @@ extension_id Aby uzyskać szczegółowe informacje, patrz błąd 39899 ". Musi działać, ale na razie ma błąd. –
@the_nakos Właśnie wypróbowałem to i to nie działa. Ale sprawiłem, że działa on poprzez rozszerzenie identyfikatora rozszerzenia i dodanie ', default' do css:' cursor: url ('chrome-extension: //abc/icons/cursor.cur'), domyślnie; '. Może twoje inne rozwiązania również będą działały domyślnie? – serg
Działa również z pierwszą i drugą metodą! Dziękuję Ci bardzo! –