0

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

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

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

但由于 DOMExceptions,这几天似乎不起作用。还有什么我可以做的吗?还是我在这里错过了一些明显的东西?

4

1 回答 1

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");
}
于 2018-09-18T00:18:19.147 回答