Construyendo una extensión de Google Chrome que coloca algunas etiquetas IMG en sitios. Esta etiqueta img en: hover debe mostrar un cursor personalizado. La extensión usa jQuery como script central inyectado. Probé los métodos siguientes:Cursor personalizado de extensión de Chrome
1.
var cursor = 'url('+chrome.extension.getURL('icons/cursor.cur')+')';
$('#myImgId').css({
'position': 'absolute',
'top':'5px',
'left':'5px',
'cursor':cursor
});
Este es el mejor trabajo. En sitios más pequeños, muestra el cursor. En sitios de carga más lenta, no. Pero en sitios pequeños falla a veces.
2.
var cursor = 'url('+chrome.extension.getURL('icons/cursor.cur')+')';
$('<style>#myImgId{cursor:'+cursor+'}</style>').appendTo('head');
esto no hizo nada en absoluto.
3.
En manifest.json I inyecta el css.
"content_scripts": [
{
"matches": ["http://*/*"],
"css": ["css/style.css"],
"js": ["j/c.js", "j/s.js"]
}
el archivo CSS sólo tenía el cursor: url (iconos/cursor.cur), ya que no tengo idea de cómo obtener la URL real en un archivo CSS. Esto no está funcionando en absoluto. Creo que debe funcionar así, pero no encontré referencia para esto en code.google.
Esto está cerca de la verdad. Con esto encontré esto: http://code.google.com/chrome/extensions/i18n.html#overview-predefined donde veo esto: "Nota: los archivos CSS de script de contenido no pueden usar mensajes predefinidos como @@ extension_id Para más detalles, vea el error 39899 ". Entonces debe funcionar, pero tiene un error por ahora. –
@the_nakos Acabo de probarlo y no funciona. Pero lo hice funcionar codificando el ID de extensión y agregando ', default' a css:' cursor: url ('chrome-extension: //abc/icons/cursor.cur'), por defecto; '. ¿Quizás sus otras soluciones también funcionarían con el valor predeterminado? – serg
¡Funciona también con el primer y segundo método! ¡Muchas gracias! –