我做网络游戏。我将它们上传到Newgrounds之类的门户。它们被作为iFrame嵌入在这些站点上。但是,我注意到其他网站通过将iFrame嵌入自己的网站来“窃取”游戏。我可以在iFrame中运行任何代码来检测我嵌入的网站吗?
我一直在搜索,很多线程都说类似
if (window.top.location.hostname != "myhost.com") {
console.log("Not on myhost");
}
,但是由于DOMExceptions,这几天似乎不起作用。我还能做什么?还是我错过了这里明显的东西?
答案 0 :(得分:0)
首先,您可以通过检查window.top
本身来简单地判断页面是否已嵌入到iframe中:
if (window != window.top) {
console.log("In an iframe");
}
我认为您发布的代码仅在父页面位于其他域中时才会出现异常。所以您可以检查错误:
try {
var = window.top.location.hostname;
} catch (e) {
console.log("In an iframe from another domain");
}