#firefox #iframe #infinite-loop
#firefox #iframe #бесконечный цикл
Вопрос:
У меня есть сайт, который обычно встраивает весь контент в iframe. Если вы попытаетесь получить доступ к тому же контенту напрямую через браузер, мы загрузим фреймворк сайта и вместо этого загрузим этот контент в iframe для вас (все это обрабатывается реферером, определяющим, внутренний это запрос или внешний).
Это отлично работает в Google Chrome, но Firefox, похоже, отказывается запрашивать содержимое в iframe, если оно совпадает с URL родительского окна. Ожидается ли это? Я мог бы представить, что они делают это, чтобы предотвратить бесконечные циклы, но я нигде не могу найти это документированным. Странная часть в том, что я могу обойти это, добавив что-либо дополнительное к строке запроса. Конечно, я бы предпочел не делать этого.
И если это ожидаемое поведение, то то, что я делаю, не такая уж хорошая идея?
Ответ №1:
Использование iFrames в целом не самый популярный план, но это может быть оправдано. Однако поведение Firefox следует ожидать. Ваши два варианта:
1) Когда вы обнаружите, что пользователь загружает только внутренний фрейм, перенаправьте (через HTTP-ЗАГОЛОВОК) на родительскую страницу и используйте строку запроса, чтобы сообщить этой странице, какой внутренний фрейм загружать.
2) Сделайте то, что вы делаете сейчас, и добавьте строку запроса, полную случайных данных (amp;framebuster =231784783243253426543), чтобы все было красиво и раздельно.
Комментарии:
1. В настоящее время я делаю 2), но это кажется уродливым взломом.
2. И это уродливый взлом. Я не думаю, что это имеет какие-то особые последствия, но с этим довольно трудно жить.