我使用iframe来提供我希望人们能够嵌入自己网站的内容。我也在我自己的网站上嵌入这些iframe(myster.com在下面的代码中)。
我正在使用以下javascript函数
function addLogo() {
if (window.top.location.host != "mysite.com") {
$("#logo").html('<a href="...mysite.com" target="_parent"><img src="...mysite.com/logo.png" border="0"></a>');
}
}
检查嵌入iframe的位置。如果iframe嵌入在我的网站以外的任何地方,则jquery用于向框架添加小徽标/反向链接。
主站点托管在共享服务器上,嵌入的html和js文件位于Amazon S3存储桶中。让js文件检查父窗口的位置会导致Firefox和Chrome中的安全错误
Firefox:
错误:访问属性“host”的权限被拒绝
Chrome:
Uncaught SecurityError:阻止具有原点的帧 “... amazon.s3Bucket”来自访问具有原点的框架 “...... mysite.com”。协议,域和端口必须匹配。
有没有办法使用js有条件地添加基于top.host的徽标而不会导致这些错误或产生安全问题?
我希望坚持使用js以便我可以从Amazon S3提供iframe内容(html和js)