如何检测我的iFrame是否被其他网站使用?

时间:2018-09-17 23:50:30

标签: javascript iframe domexception

我做网络游戏。我将它们上传到Newgrounds之类的门户。它们被作为iFrame嵌入在这些站点上。但是,我注意到其他网站通过将iFrame嵌入自己的网站来“窃取”游戏。我可以在iFrame中运行任何代码来检测我嵌入的网站吗?

我一直在搜索,很多线程都说类似

if (window.top.location.hostname != "myhost.com") {
    console.log("Not on myhost");
}

,但是由于DOMExceptions,这几天似乎不起作用。我还能做什么?还是我错过了这里明显的东西?

1 个答案:

答案 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");
}