我是 Chrome 扩展程序的作者,该扩展程序允许直接在 Facebook 上翻译状态更新和评论:https://chrome.google.com/webstore/detail/facebook-translate/plofenifjagmdikfcobngnfmmnfmphin
几天来,我和我的用户在错误控制台中收到错误消息:
Refused to connect to 'https://api.microsofttranslator.com/V2/Http.svc/Translate?appId=&text=Chrome-Integration%3A+Google+bringt+Google+Now+auf+Desktop-PCs&to=en&contentType=text%2Fhtml' because it violates the following Content Security Policy directive: "connect-src https://.facebook.com http://.facebook.com https://.fbcdn.net http://.fbcdn.net *.facebook.net .spotilocal.com: https://.akamaihd.net ws://.facebook.com:* http://*.akamaihd.net".
在我的 chrome 扩展程序中,我确实设置了如下内容安全策略:
"content_security_policy": "script-src 'self' https://ssl.google-analytics.com; object-src 'self'"
然而,错误控制台中的 URI 只是 FB URI,所以我认为 Facebook 确实更新了他们的站点以限制对远程 URI 的访问。我不确定这是否是 Chrome 的问题,如果我在错误的 stackoverflow 网络上开始这个话题,我深表歉意。 :)
任何人都可以确认(并可能指出我可能的解决方案)这个问题吗?谢谢大家!
最佳答案
当从内容脚本执行 XMLHTTPRequest 时,扩展应该绕过页面的内容安全策略。他们目前不是,这是一个错误。我已经提交了 https://bugs.webkit.org/show_bug.cgi?id=104480看看如何修复它。
您是从扩展程序的内容脚本中执行 XHR,还是在后台页面中执行它?后者现在应该可以工作。
关于facebook - 拒绝连接到 [url],因为它违反了以下内容安全策略指令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13786918/