IFrame - зная происхождение - PullRequest
       18

IFrame - зная происхождение

0 голосов
/ 28 февраля 2020

У меня есть iframe, работающий в одном домене, которым я управляю, и страница, которая встраивает его в другой домен, которым я управляю.

Мой сайт позволяет другим людям вставлять эти iframe в свои сайты. Мне бы хотелось, чтобы iframe вел себя немного иначе, когда встраивается где-то еще.

Есть два способа добиться этого, о которых я могу думать, но ни один из них не кажется идеальным:

  • Проверяя реферера. Это работает, но в некоторых случаях мне может потребоваться выполнить перенаправление на другую страницу в iFrame, что приведет к удалению реферера ... Я мог бы передать параметр с помощью перенаправления или установить временную готовку ie, но это не соответствует моим потребностям. Я также не уверен, насколько надежен реферер, но я думаю, что количество людей, которые отключают рефереры в своих браузерах, очень мало.

  • Используя PostMessage для опроса встраивая страницу и попросив вернуть ответ, чтобы он знал, что это ожидаемое происхождение. Проблема в том, что из-за асинхронного характера PostMessage я не могу быть уверен, что ответ еще не поступил или не будет получен вообще. Так что это не правда или ложь, это всегда правда или в настоящее время неизвестно. Я думаю, у меня мог быть тайм-аут на это (если у меня не было ответа через X секунд, я могу предположить, что он не придет). Кроме того, в консоли может появиться нежелательное предупреждающее сообщение, когда оно будет вставлено где-то еще, но, возможно, я являюсь pedanti c.

Существуют ли другие способы определения источника изнутри iFrame, о котором я не знаю, или я должен просто выбрать один из этих двух и заставить его работать?

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...