首先,我已经检查了这篇文章:Facebook:不安全的JavaScript问题(document.domain值应该相同)
但那是关于Facebook上的一个页面。我在自己网站的某个页面上的 Chrome 控制台中遇到的错误是:
Blocked a frame with origin "<mydomain>" from accessing a frame with origin "https://www.facebook.com". The frame requesting access has a protocol of "http", the frame being accessed has a protocol of "https". Protocols must match. fckeditorcode_gecko.js:36
可以肯定的是,我从Facebook注销,但仍然发生错误。
fckeditorcode_gecko.js:36
中的第 36 行开头为:
var FCKTools={};FCKTools.CreateBogusBR=function(A){var B=A.createElement('br');B.setAttribute('type','_moz');return B;};
如何解决这个问题?
似乎是FCKEditor库和你包含在页面中的Facebook库之间的冲突。可能是喜欢按钮,我与 Google Plus 的 +1 按钮相同,api.google.com。
快速修复:删除 2 库中的一个
您的 FCK 编辑器库似乎也很旧,您可以在此处更新它:http://ckeditor.com/
另一个快速修复它的技巧。但我不确定副作用:打开"fckeditorcode_gecko.js":按 Ctrl+F 搜索字符串:
"if (A.document) A.document.parentWindow=A"
并将其替换为
"return"
最好
同源策略,您不能。
您似乎正在尝试向框架中的文档添加<br>
标签。域、协议和端口必须匹配才能实现此目的,或者 CORS 必须由帧中请求的资源实现。
我在ckeditor
(图像上传器)上遇到了同样的问题。
这是我在htaccess
中的内容:
RewriteCond %{HTTP_HOST} ^www.yousite.co.il
RewriteRule ^(.*)$ http://yousite.co.il/$1 [R=301,L]
任何试图点击 www 的人都会被重定向到没有 www 的网站。
但是,我的管理页面没有使用相同的htaccess
规则,当我尝试将带有文件的 ajax 请求从 www.mysite/admin
发送到mysite/admin
时,这会产生此问题。
将www
添加到 url 管理页面字符串使一切正常。