"SECURITY_ERR:DOM异常18”;当铬扩展使用“时抛出”;EventSrouce”;已初始化

"SECURITY_ERR: DOM Exception 18" is thrown when chrome extension use "EventSrouce" is initialized

本文关键字:初始化 EventSrouce 时抛出 扩展 ERR SECURITY quot DOM 异常      更新时间:2023-09-26

我正在使用HTML5服务器发送事件来发布服务器的一些状态。我正在实现一个chrome扩展来跟踪状态,并在需要时通知用户。

但是当我尝试创建EventSource对象时Chrome抛出异常"未捕获错误:SECURITY_ERR:DOM异常18"

var tracker = (function(url) {
    var source = new EventSource(url);
    var onMessage = function(e) {
        console.log(e);
    }
    source.addEventListener('new', onMessage);
    return {
        source: source,
        newMessage: onMessage
    };
})('http://localhost:3000/dispatching');

我确实将服务器的url添加到了我的扩展权限中:

"permissions": [ 
    "http://localhost:3000/",
    "tabs"
]

但许可并不能真正解决问题!知道吗?

这看起来像是通过file://协议加载的HTML文件试图通过http://协议联系服务器时发生的同源策略问题。

这里有一篇文章描述了如何为您的开发环境绕过SOP。

当你投入生产时,我的理解是,谷歌chrome提供了某些方法来绕过通常对浏览器施加的SOP限制。这可能是通过你提到的permissions JSON实现的,但我对Chrome扩展还不够熟悉。

啊,等等,这篇文章可能有用。