Ho creato un'estensione Google Chrome che inserisce alcuni tag IMG nei siti. Questo tag img su: hover deve mostrare un cursore personalizzato. L'estensione usa jQuery come suo script principale iniettato. Ho provato i seguenti metodi:Cursore personalizzato estensione Chrome
1.
var cursor = 'url('+chrome.extension.getURL('icons/cursor.cur')+')';
$('#myImgId').css({
'position': 'absolute',
'top':'5px',
'left':'5px',
'cursor':cursor
});
questo è il migliore di lavoro. Sui siti più piccoli mostra il cursore. Sui siti di caricamento più lenti non è così. Ma su piccoli siti a volte fallisce.
2.
var cursor = 'url('+chrome.extension.getURL('icons/cursor.cur')+')';
$('<style>#myImgId{cursor:'+cursor+'}</style>').appendTo('head');
Questo non ha fatto niente per niente.
3.
In manifest.json ho iniettato il css.
"content_scripts": [
{
"matches": ["http://*/*"],
"css": ["css/style.css"],
"js": ["j/c.js", "j/s.js"]
}
il file CSS appena avuto il cursore: url (icone/cursor.cur) come non ho idea, come ottenere reali URL in un file css. Questo non funziona affatto. Penso che debba funzionare così, però non ho trovato il riferimento per questo su code.google.
Questo è vicino per la verità. Da ciò ho trovato questo: http://code.google.com/chrome/extensions/i18n.html#overview-predefined dove vedo questo: "Nota: i file CSS degli script di contenuto non possono utilizzare messaggi predefiniti come @@ extension_id Per i dettagli, vedi bug 39899 ". Quindi deve funzionare ma ha un bug per ora. –
@the_nakos L'ho appena provato e non funziona. Ma l'ho fatto funzionare con l'id dell'estensione hardcoding e aggiungendo ', default' a css:' cursor: url ('chrome-extension: //abc/icons/cursor.cur'), default; '. Forse le tue altre soluzioni funzionerebbero anche con l'impostazione predefinita? – serg
Funziona anche con il primo e il secondo metodo! Grazie mille! –