Answers:
您最有可能在file://
无法设置Cookie 的URI方案上在本地文件上使用它。将其放在本地服务器上,以便可以使用http://localhost
。
python -m SimpleHTTPServer
站点的根目录,然后将其托管在localhost:8000即可。
python -m http.server 8000
在本地开发HTML5时,我也遇到了这个问题。我在图片和getImageData函数方面遇到问题。最终,我发现可以使用--allow-file-access-from-file命令开关启动chrome,从而摆脱了这种保护安全性。唯一的事情是,它会使您的浏览器不那么安全,并且不能有一个带有该标志的chrome实例,而另一个没有该标志的chrome实例。
您也可以通过用内联Base64表示形式替换图像来“修复”此问题:
img.src= "data:image/gif;base64,R0lGODlhCwALAIAAAAAA3pn/ZiH5BAEAAAEALAAAAAALAAsAAAIUhA+hkcuO4lmNVindo7qyrIXiGBYAOw==";
有用,当您不打算在Web上发布页面,而是仅在本地计算机上使用它时。
面对使用Javascript的相同情况 网络工作者。不幸的是,Chrome不允许访问存储在本地文件中的javascript worker。
下面是使用本地存储的一种解决方法,就是使用来运行Chrome --allow-file-access-from-files
(s
结尾处带有),但只允许使用一个Chrome实例,这对我来说不太方便。因此,我使用的是Chrome Canary,允许访问文件。
BTW在Firefox中没有这样的问题。
如果尝试使用数据URI方案创建Web Worker,则会弹出此错误。
var w = new Worker('data:text/javascript;charset=utf-8,onmessage%20%3D%20function()%20%7B%20postMessage(%22pong%22)%3B%20%7D'); w.postMessage('ping');
根据标准,不允许这样做:http : //www.whatwg.org/specs/web-apps/current-work/multipage/workers.html#dom-worker
对于该--allow-file-access-from-files
解决方案,我并不完全满意,因为我使用的是Chrome浏览器作为主要浏览器,并且对于我要打开的此漏洞并不太满意。
现在,我将Canary(chrome beta版)用于带有标记的开发。我真正的博客只有Chrome版本:两种浏览器不共享标志!
如果在获得许可之前使用新的(仅到目前为止的Webkit)通知功能,也会收到此错误。
第一次运行:
<!-- Get permission -->
<button onclick="webkitNotifications.requestPermission();">Enable Notifications</button>
稍后运行:
// Display Notification:
window.webkitNotifications.createNotification('image', 'Title', 'Body').show();
请求权限功能需要从用户引起的事件中触发,否则将不会显示。