未捕获错误:SECURITY_ERR:DOM异常18当我尝试设置cookie时

Pie*_*ter 120 html javascript jquery domexception

当我尝试使用 jQuery插件设置cookie时,我在Chrome的开发人员工具窗口中收到以下错误:

未捕获错误:SECURITY_ERR:DOM异常18

这个错误意味着什么,我该如何解决?当我使用这个 jQuery插件时,我得到了同样的错误.

Eli*_*rey 151

您最有可能通过file://URI方案在本地文件上使用它,该方案不能设置cookie.将它放在本地服务器上,以便您可以使用http://localhost.

  • 专业提示:如果您安装了Python,只需在站点的根目录中键入`python -m SimpleHTTPServer`,然后在http:// localhost:8000中找到它. (28认同)
  • 当从file://加载时,在画布上使用getImageData()也发生了. (26认同)
  • 当从另一个主机加载的图像调用getImageData()时,也会发生良好的调用.将文件移动到相同的域/协议/等.解决它. (6认同)
  • 对于Python 3,要获得相同的效果,您需要执行`python -m http.server 8000` (5认同)
  • 如果您是iOS开发人员,您可能有兴趣知道在将HTML直接加载到UIWebView控件中后尝试使用localStorage时也遇到了此问题.http://stackoverflow.com/questions/11371441/preventing-annoying-html5-geolocation-alerts-inside-uiwebview (2认同)

alo*_*aly 18

我在本地开发HTML5时遇到了这个问题.我有图像和getImageData函数的问题.最后,我发现可以使用--allow-file-access-from-file命令开关启动chrome,从而摆脱这种保护安全性.唯一的问题是它会使您的浏览器不那么安全,并且您不能拥有一个带有标志的chrome实例和另一个没有该标志的chrome实例.

  • 当您使用--allow-file-access-from-files(注意它现在是复数)时,您必须记住,只有在Chrome的其他任何实例尚未运行时,该开关才会生效. (4认同)

Ibo*_*lit 11

您还可以通过使用其内联Base64表示替换图像来"修复"此问题:

img.src= "data:image/gif;base64,R0lGODlhCwALAIAAAAAA3pn/ZiH5BAEAAAEALAAAAAALAAsAAAIUhA+hkcuO4lmNVindo7qyrIXiGBYAOw==";
当您不打算在Web上发布页面时,但仅在本地计算机上使用它时很有用.

  • 任何想法如何以不会抛出此错误的方式获取画布的base64表示? (4认同)

End*_*imo 10

面对与Javascript 一样的情况.不幸的是,Chrome不允许访问存储在本地文件中的javascript worker.

下面使用本地存储的一种解决方法是运行Chrome --allow-file-access-from-files(s最后),但只允许一个Chrome实例,这对我来说不太方便.出于这个原因,我正在使用Chrome Canary,允许文件访问.

在Firefox中BTW没有这样的问题.


ati*_*imb 5

如果您尝试使用数据URI方案创建Web工作程序,则会弹出此错误.

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');
Run Code Online (Sandbox Code Playgroud)

根据标准不允许:http://www.whatwg.org/specs/web-apps/current-work/multipage/workers.html#dom-worker