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

IT技术 javascript jquery html domexception
2021-02-10 09:37:36

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

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

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

6个回答

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

从 file:// 加载时,我在画布上使用 getImageData() 也发生了这种情况。
2021-03-29 09:37:36
调用 getImageData() 以获取从另一台主机加载的图像时,调用也很好。将文件移动到相同的域/协议/等。修复它。
2021-03-30 09:37:36
如果您是 iOS 开发人员,您可能有兴趣知道我在将 HTML 直接加载到 UIWebView 控件后尝试使用 localStorage 时也遇到了这个问题。stackoverflow.com/questions/11371441/...
2021-04-06 09:37:36
对于 Python 3,要获得相同的效果,您需要做 python -m http.server 8000
2021-04-08 09:37:36
专业提示:如果您安装了 Python,只需输入python -m SimpleHTTPServer您站点的根目录,然后找到它托管在localhost:8000 上
2021-04-10 09:37:36

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

当您使用 --allow-file-access-from-files (注意它现在是复数)时,您必须记住该开关仅在没有任何其他 Chrome 实例正在运行时才生效。
2021-04-08 09:37:36

您还可以通过用内联 Base64 表示替换图像来“修复”这个问题:

img.src= "data:image/gif;base64,R0lGODlhCwALAIAAAAAA3pn/ZiH5BAEAAAEALAAAAAALAAsAAAIUhA+hkcuO4lmNVindo7qyrIXiGBYAOw==";
有用,当您不打算在网络上发布页面,而是仅在本地机器上使用它时。

知道如何以不引发此错误的方式获取画布的 base64 表示吗?
2021-03-25 09:37:36
var canvas = document.createElement("canvas"); 画布宽度 = 128; 画布高度 = 128; var ctx = canvas.getContext('2d'); ctx.fillRect(25,25,100,100); ctx.clearRect(45,45,60,60); ctx.strokeRect(50,50,50,50); 返回 ctx.getImageData(0, 0, 128, 128);
2021-03-26 09:37:36

面对同样的情况玩 Javascript . 不幸的是,Chrome 不允许访问存储在本地文件中的 javascript 工作人员。

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

顺便说一句,Firefox 中没有这样的问题。

我希望我能不止一次投票。您的回答为我节省了大量时间将头撞在屏幕上!!非常感谢!!
2021-03-21 09:37:36

如果您尝试使用数据 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