Javascript firefox:如何从本地png文件设置自定义光标?

Javascript firefox:如何从本地png文件设置自定义光标?,javascript,firefox,cursor,Javascript,Firefox,Cursor,如何从本地图像文件为当前页面设置自定义光标?基本上,我需要使用javascript以编程方式更改为不同的游标,但游标存储在本地硬盘上。您不能(但请参见下文),因为文件://无法从其他协议访问或引用 通过JavaScript包含光标的基本方法是: element.style.cursor = "url(...location-of-pic...), auto"; // ^^^^^^ (required a

如何从本地图像文件为当前页面设置自定义光标?基本上,我需要使用javascript以编程方式更改为不同的游标,但游标存储在本地硬盘上。

您不能(但请参见下文),因为
文件://
无法从其他协议访问或引用

通过JavaScript包含光标的基本方法是:

element.style.cursor = "url(...location-of-pic...), auto";
//                                                ^^^^^^ (required as fallback)
  • 您可以,并使用它代替
    file://..../cursor.png

    document.documentElement.style.cursor = 'url("data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAABMLAAATCwAAAAAAAAAAAAAAAAAAbGxt/2xsbf9sbG3/bGxt/2xsbf9sbG3/bGxt/2xsbf9sbG3/bGxt/2xsbf9sbG3/bGxt/2xsbf8AAAAAAAAAAGxsbf9sbG3/bGxt/2xsbf9sbG3/bGxt/2xsbf9sbG3/bGxt/2xsbf9sbG3/bGxt/2xsbf9sbG3/AAAAAAAAAABsbG3/bGxt/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsbG3/bGxt/wAAAAAAAAAAbGxt/2xsbf8AAAAAbGxt/2xsbf9sbG3/bGxt/2xsbf9sbG3/bGxt/2xsbf8AAAAAbGxt/2xsbf8AAAAAAAAAAGxsbf9sbG3/AAAAAGxsbf9sbG3/bGxt/2xsbf9sbG3/bGxt/2xsbf9sbG3/AAAAAGxsbf9sbG3/AAAAAAAAAABsbG3/bGxt/wAAAAAAAAAAAAAAAAAAAAAAAAAAVHibFE94oDxKeKRkRHiqkUx4ohlsbG3/bGxt/wAAAAAAAAAAAAAAAAAAAABLeKMPPHixUj54sIQ+eLC5Pniw3j54sP8/eK//QXet/0J2q/9Ed6k+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPXiwKkF4rf9BeK3/QXit/0J3q+xFdqnAQ3erhTt7s1Qqg8VSFY3cWQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD94rwlCeKxzRHaqUUR2qis7e7MIAAAAABiM2QwJk+hyA5fv4gKX7v8AmfIbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACZPoGQOX7oIDlu7tBZXs/wSX6+wJkeqCHXjmTiBy6QIAAAAAAAAAAAAAAAAAAAAAAAAAAA+R4QICl+4kA5fuhgWW7PMGlev/BpXr6wSY64MNjOkQJ23lTC9j5PwuZOSBAAAAAAAAAAAAAAAAAAAAAAAAAAAElu0JBpXr1QaV6/8GlevpBpbrfASY6xcAAAAAK2fkNi5k5PgsZuT4LGbkRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaV62wGlet+BZbrFQAAAAAAAAAALWTkIi1l5OUsZuT/LGbkWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALmPkDyxl5MssZuT/LGbkewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALmPkAixm5K0sZuT/LGbkoQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALmTkAixm5JMsZuT/LGbkwCxm5AcAAAAAAAAAAAAAAAAAAAAAgAEAAIAB8L+f+QAAkAkAAJAJAACfAQAA4AcAAOAHAADggwAA/gEAAPABAADwIQAA+MP///+H////DwAA/g8AAA%3D%3D"), auto';
    
    您可以在上上载任何文件并将其转换为base-64格式。修剪空白,并添加前缀
    data:image/png;base64,

  • 除了使用数据URI,还可以将图像上载到文件主机,并按如下方式嵌入:

    document.documentElement.style.cursor = 'url("http://sstatic.net/stackoverflow/img/favicon.ico"), auto';
    
  • 另见:

    • MDN:
    • MDN:

    重复“是”,但如何指示本地文件url?我猜这是不可能的?设置
    cursor=“default”更改为默认光标?@KimJongWoo使用
    .style.cursor=''(空字符串)以撤消您的操作。顺便说一句,此操作有效,但当您将鼠标悬停在链接上时,会显示默认的手动光标。如何覆盖默认值?是否可以将样式游标设置为dom文档上的所有元素?@KimJongWoo这是因为用户代理为锚定义了
    cursor
    CSS属性。如果要覆盖所有
    游标
    属性,请使用(即:。此代码假定您在文档中已经从同一来源获得了
    样式表
    对象(
    )。否则,请创建
    元素,并在使用特定方法之前将其追加。
    文档。样式表[0]。insertRule('*{cursor:url(“数据:image/x-icon;base64,iVBORw0KGgoAAA…”,默认值!重要;}',0);
    ?firefox抛出安全错误。