Javascript 自定义光标在Chrome中无法正常工作
我很难让chrome正确显示我的自定义光标,但它似乎可以在FireFox中正常工作 给大家一点背景,作为我尝试使用HMLT5/Javascript加速的一部分,我正在使用新的canvas元素制作一个小型射击游戏,我正在使用Axialis cursor Workshop创建的自定义范围,如cursor,下面是画布的html和css:Javascript 自定义光标在Chrome中无法正常工作,javascript,css,html,canvas,Javascript,Css,Html,Canvas,我很难让chrome正确显示我的自定义光标,但它似乎可以在FireFox中正常工作 给大家一点背景,作为我尝试使用HMLT5/Javascript加速的一部分,我正在使用新的canvas元素制作一个小型射击游戏,我正在使用Axialis cursor Workshop创建的自定义范围,如cursor,下面是画布的html和css: <canvas id="canvas" class="block" width="800" height="700" onSelectStart
<canvas id="canvas" class="block" width="800" height="700"
onSelectStart="this.style.cursor='url(cursors/scope.cur), crosshair'; return false;"/>
#canvas
{
cursor: url(../cursors/scope.cur), crosshair;
background: url(../images/canvas_background.jpg);
}
#帆布
{
游标:url(../cursors/scope.cur),十字线;
背景:url(../images/canvas_background.jpg);
}
在chrome中,我看到一条关于scope.cur文件的警告:“资源被解释为图像,但使用MIME类型的application/octet stream传输。”。当我将鼠标移动到画布区域的左上角时,我可以看到光标已绘制,但光标的“热点”不在光标的中心
在firefox中,这样做没有问题,我仍然可以看到相同的光标,光标的“热点”位于我想要的中心
你知道我做错了什么吗?我怎样才能为chrome修复它?标准十字光标在chrome中运行良好(因为它的“热点”位置正确),但它不太符合我的目的
你可以自己看,只需在chrome和firefox中将光标移动到左上角即可看到区别。我认为这里有两个不同的问题
我认为这里有两个不同的问题
对于任何感兴趣的人来说,我最终解决了这个问题,尽管这有点困难 我第一次尝试使用空白光标,但后来Chrome将其渲染为黑色正方形。。因此,我决定将目标绘制为画布的一部分,并使用一个光标,该光标的热点位于0,0,并且除了0,0平铺外,该平铺是空白的,该平铺与目标具有相同的颜色
一旦你开始游戏,你就可以看到结果,这不是一个很好的解决方案,但仍然有效。对于任何感兴趣的人来说,我最终解决了这个问题,尽管这有点困难 我第一次尝试使用空白光标,但后来Chrome将其渲染为黑色正方形。。因此,我决定将目标绘制为画布的一部分,并使用一个光标,该光标的热点位于0,0,并且除了0,0平铺外,该平铺是空白的,该平铺与目标具有相同的颜色
一旦你开始游戏,你就可以看到结果,这不是一个很好的解决方案,但仍然有效。我的回答现在可能已经太迟了,但这应该在chrome中起作用:
cursor:url(../cursors/scope.cur)4,十字线代码>
您可能还需要编写一个小脚本,使用jQuery$.browser
属性检查浏览器类型
请阅读以下内容:
注意:我相信MIME类型的问题已经得到解决。我的回答现在可能已经太迟了,但这在chrome中应该是可行的:
cursor:url(../cursors/scope.cur)4,十字线代码>
您可能还需要编写一个小脚本,使用jQuery$.browser
属性检查浏览器类型
请阅读以下内容:
注意:我相信MIME类型问题已经得到解决。要解决“资源解释为图像…”警告:
- 创建名为
.htaccess
- 编写以下命令:
AddType image/vnd.microsoft.icon.cur
- 保存在文件夹
/cursors
或任何父文件夹中(通常是站点根目录/
)
这应该可以在Apache服务器上使用
关于此解决方案。要解决“资源解释为图像…”警告:
- 创建名为
.htaccess
- 编写以下命令:
AddType image/vnd.microsoft.icon.cur
- 保存在文件夹
/cursors
或任何父文件夹中(通常是站点根目录/
)
这应该可以在Apache服务器上使用
关于此解决方案。我在这里找到了一些相关信息:嗨,Lorezo,谢谢你的回复,本质上没有“服务器端”,如果我将文件更改为.png,我会丢失光标文件中的热点信息吗?我认为CSS标准不会将热点信息转换为.cur文件。我在这里找到了一些相关信息:嗨,Lorezo,谢谢你的回复,本质上没有“服务器端”,如果我将文件更改为.png,我会丢失光标文件中的热点信息吗?我认为CSS标准不会将热点信息转换为.cur files.jQuery$。浏览器是。我想改用raccomend。@BBog-是的,我听说modernizer在处理跨浏览器问题方面做得更好。jQuery$。browser是。我会改用raccomend。@BBog-是的,我听说Modernizer在处理跨浏览器问题方面做得更好。