Как определить, что мой iFrame используется другим сайтом? - PullRequest
0 голосов
/ 18 сентября 2018

Я делаю веб-игры.Я загружаю их на порталы, такие как Newgrounds.Они внедряются как iFrames на этих сайтах.Однако я заметил, что другие сайты «крадут» игры, встраивая iFrames в свои собственные сайты.Есть ли какой-нибудь код, который я могу запустить в своем iFrame, чтобы определить, на каком сайте я встроен?

Я продолжаю поиск, и многие потоки говорят что-то вроде

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

, но это не таккажется, работают в эти дни из-за DOMExceptions.Что-нибудь еще, что я могу сделать?Или я что-то упустил здесь очевидное?

1 Ответ

0 голосов
/ 18 сентября 2018

Во-первых, вы можете просто сказать, встроена ли страница в iframe, проверив window.top:

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");
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...