Uncaught Error: SECURITY_ERR: DOM Exception 18 when I try to set a cookie

当我试图使用 这个 jQuery 插件设置 cookie 时,在 Chrome 的开发者工具窗口中出现了以下错误:

未捕获错误: SECURITY _ ERR: DOM 异常18

这个错误意味着什么? 我如何修复它?当我使用 这个 jQuery 插件时也会出现同样的错误。

120111 次浏览

You're most likely using this on a local file over the file:// URI scheme, which cannot have cookies set. Put it on a local server so you can use http://localhost.

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

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

Img.src = “ data: image/gif; base64,R0lGODlhCwALAIAAAAAA3pn/ZiH5BAEAAAAAAAAAALAAsAAAIUhA + hkcuO4lmNVindo7qyrIXiGBYAow = =”;
有用的是,当您不打算在 Web 上发布页面,而是仅在本地计算机上使用它时。

我对 --allow-file-access-from-files的解决方案并不完全满意,因为我使用 Chrome 作为我的主要浏览器,并且对我打开的这个漏洞并不满意。

现在我正在使用 Canary (chrome beta 版本)进行我的开发,并且打开了标志。 而我真正的博客只有 Chrome 版本: 两个浏览器不共享旗帜!

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

面对同样的情况下使用 Javascript 。不幸的是,Chrome 不允许访问存储在本地文件中的 javascript worker。

One kind of workaround below using a local storage is to running Chrome with --allow-file-access-from-files (with s at the end), but only one instance of Chrome is allowed, which is not too convenient for me. For this reason i'm using Chrome Canary, with file access allowed.

顺便说一下,Firefox 中不存在这样的问题。

One can also receive this error if using the new (so far webkit only) notification feature before getting permission.

第一轮:

<!-- Get permission -->
<button onclick="webkitNotifications.requestPermission();">Enable Notifications</button>

稍后播放:

// Display Notification:
window.webkitNotifications.createNotification('image', 'Title', 'Body').show();

需要从用户引起的事件触发请求权限函数,否则将不会显示该函数。

当我在移动 Safari 中使用 ASP.NET MVC 返回一个 FileResult 时遇到了这样的错误,该文件的重载将返回一个与原文件名不同的文件。那么,

return File(returnFilePath, contentType, fileName);

会在移动狩猎中出现错误

return File(returnFilePath, contentType);

would not.

I don't even remember why I thought what I was doing was a good idea. Trying to be clever I guess.

I had this issue when using the history API.

window.history.pushState(null, null, URL);

即使使用本地服务器(localhost) ,您也希望在 URL 中添加“ http://”,这样您的 URL 就类似于:

http://localhost...