РЕДАКТИРОВАТЬ:
Если вы хотите отобразить фрейм с другого сайта и можете управлять тем, как этот другой сайт генерирует свой HTML, следуйте инструкциям в моем исходном ответе ниже, чтобы получитьфреймы для создания гиперссылок с target="_top"
.
Если, однако, вы создаете сайт, над которым у вас нет контроля, то использование фреймов, вероятно, не будет работать.Вместо этого вам нужно использовать другой подход для получения данных.Например, ваше серверное приложение может использовать file_get_contents()
или другую клиентскую библиотеку PHP HTTP для извлечения данных с удаленного сайта, а затем отправлять данные (без каких-либо фреймов) на ваш собственный сайт.Конечно, если вы не являетесь владельцем удаленного сайта, вам нужно убедиться, что вы можете повторно использовать их данные таким образом.
СТАРЫЙ ОТВЕТ (ИСПОЛЬЗУЙТЕ ЭТО, ЕСЛИ ВЫ УПРАВЛЯЕТЕ САЙТОМ (S) ВНУТРИ РАМКИ (S):
Типичный способ обойти это - указать URL-адреса ввсе кадры с новым URL-адресом набора фреймов, с target="_top"
на гиперссылках, обычно содержащие параметры строки запроса, чтобы сообщить странице набора фреймов, какие фреймы загружать.
Например, представьте framset /frameset.php
с двумя первоначально указанными фреймамив /frame1.php
и /frame2.php
. Ссылки внутри frame1 должны выглядеть следующим образом:
<a href="/frameset.php?frame1=link_url&frame2=frame2_current_url" target="_top">
Где link_url
- это страница контента, которую вы хотите загрузить в этот фрейм, а frame2_current_url
- это URL в настоящее время.загружен в frame2 (потому что вы не хотите, чтобы он изменялся при перезагрузке страницы).
Затем вам нужно изменить код для вашего родительского набора фреймов, чтобы найти эти параметры строки запроса и задать URL-адреса каждого из них.фрейм соответственно, используя URL-адреса по умолчанию для каждого фрейма, если параметры строки запроса не предоставлены. Убедитесь, что URL-кодирование всех URL-адресов вводится в параметры строки запроса.
Обратите внимание, что вы хотите использовать эту магию только для ссылок, указывающих на ссылки на вашем собственном сайте.Для ссылок на внешние сайты вы не должны переписывать URL-адреса вообще, так что вы получите в итоге гиперссылки:
<a href="http://www.externalsite.com/" target="_top">
Предостережение: этот подход действительно подходит только для сайтов, где у вас очень малоконтроль над всеми генерируемыми URL.Реальные веб-сайты обычно имеют более слабый контроль, особенно если у вас есть контент, не принадлежащий разработчикам, или если вы выполняете некоторую навигацию с помощью клиентского скрипта.