Как заставить ссылки выходить из iframe, когда вы контролируете только страницу iframe (не страницы в рамке)? - PullRequest
10 голосов
/ 30 июня 2009

У меня есть сайт, который отображает другие сайты через iframe на определенных страницах. Это делается для того, чтобы отобразить панель инструментов, которая имеет отношение к читателю (как это делают Facebook и Owly). Однако, когда пользователь решает покинуть исходный сайт, я хочу, чтобы панель исчезла. Как вы понимаете, я не контролирую сайты в iframe, и они находятся в другом домене, чем страница iframing.

Я попробовал target = "_ parent" на <iframe>, не повезло. Затем я попробовал различные скриптовые решения, но все они терпят неудачу из-за одного и того же ограничения домена. Моя последняя попытка состояла в том, чтобы проверить тайм-аут на изменения в URL-адресе iframe, но iframe.contentWindow.location.href ограничен, когда страница находится в другом домене (в отличие от объекта iframe.contentWindow.location, который я нашел немного странным).

Какие-нибудь решения этой проблемы? Я знаю, что фреймы не самая популярная вещь, но в этом случае они делают свою работу.

Ответы [ 2 ]

11 голосов
/ 30 июня 2009

Нет решений.

Единственный способ открыть ссылку в верхнем фрейме - получить доступ к самой ссылке. Как вы заметили, та же самая политика происхождения не позволяет JS получать доступ к нему из-за пределов фрейма.

11 голосов
/ 30 июня 2009

Попробуйте target = _top Это должно открыть страницу во всем теле окна.

...