我正在尝试找到一个可靠的解决方案,以确定我的网页是否使用javascript在外部网站上的iframe中加载。
如果iframe src位于同一个域上,那就很容易:你可以使用if(window.frameElement)或if(window.location!== window.parent.location)但是如果iframe src不在同一个域上现代浏览器在访问父级时抛出异常,甚至将其与null进行比较。
我完全失去了。
答案 0 :(得分:2)
您可能对Coding Horror条目感兴趣:We Done Been Framed。提供有关此主题的有趣技术讨论,包括解决方案和框架破坏。
答案 1 :(得分:0)
您可以在try-catch语句中包装验证(window.location!== window.parent.location / window.frameElement),您可以使用它来处理异常。
答案 2 :(得分:0)
为什么不尝试使用以下
的功能var element = window.parent.document if(element)返回“在父窗口中”否则“不在父窗口中”;