Как заставить ссылку из iframe быть открытой в Родительском окне
Мне нужно открыть ссылку на той же родительской странице, а не открывать ее на новой странице.
Примечание:iframe
и родительская страницадомен.
13 ответов:
Я нашел лучшее решение-использовать базовый тег. Добавьте в начало страницы в iframe следующее:
<base target="_parent">
это загрузит все ссылки на странице в Родительском окне. Если вы хотите, чтобы ваши ссылки загружались в новом окне, используйте:
<base target="_blank">
этот тег полностью поддержала во всех браузерах.
вы можете использовать любые опции
в случае только родительские страницы:
если вы хотите открыть все ссылке в родительскую страницу или родительский iframe, то вы используете следующий код в головной части iframe:
<base target="_parent" />
или
если вы хотите открыть конкретную ссылку в родительскую страницу или родительский iframe, то вы используете следующее образом:
<a target="_parent" href="http://specific.org">specific Link</a> <a href="http://normal.org">Normal Link</a>
или
в случае вложенного iframe:
если хотите открыть все ссылке в окне браузера (перенаправление в url браузера), то вы используете следующий код в головной части iframe:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script type="text/javascript"> $(window).load(function(){ $("a").click(function(){ top.window.location.href=$(this).attr("href"); return true; }) }) </script>
или
если вы хотите открыть конкретную ссылку в окно браузера (перенаправление в url браузера), затем вы используете следующее образом:
<a href="http://specific.org" target="_top" >specific Link</a>
или
<a href="javascript:top.window.location.href='your_link'">specific Link</a> <a href="javascript:top.window.location.href='http://specific.org'">specific Link</a> <a href="http://normal.org">Normal Link</a>
есть элемент HTML под названием
base
что позволяет вам:укажите URL-адрес по умолчанию и цель по умолчанию для всех ссылок на странице:
<base target="_blank" />
указать
_blank
вы убедитесь, что все ссылки внутри iframe будет открыт снаружи.
Как уже отмечалось, вы можете использовать целевой атрибут, но он технически устарел в XHTML. Это оставляет вас с помощью javascript, обычно что-то вроде
parent.window.location
.
самое универсальное и самое кросс-браузерное решение-избегать использования тега "base", а вместо этого использовать целевой атрибут тегов "a":
<a target="_parent" href="http://www.stackoverflow.com">Stack Overflow</a>
The
<base>
тег менее универсален, и браузеры несовместимы в своих требованиях к его размещению в документе, требуя большего кросс-браузерного тестирования. В зависимости от вашего проекта и ситуации, это может быть трудно или даже совершенно неосуществимо для достижения идеального кросс-браузерного размещения<base>
тег.делаем на
<a>
тег-это не только браузер, но и позволяет различать те ссылки, которые вы хотите открыть в iframe, и те, которые вы хотите открыть в родительской.
<a target="parent">
открывать ссылки в новой вкладке/окне ...<a target="_parent">
откроет ссылки в Родительском / текущем окне, не открывая новые вкладки / окна. Don't_forget_that_underscore!
Если вы используете iframe на своей веб-странице, вы можете столкнуться с проблемой при изменении всей страницы через гиперссылку HTML (тег привязки) из iframe. Есть два решения для устранения этой проблемы.
Решение 1. Вы можете использовать целевой атрибут тега привязки, как показано в следующем примере.
<a target="_parent" href="http://www.kriblog.com">link</a>
решение 2. Вы также можете открыть новую страницу в Родительском окне из iframe с помощью JavaScript.
<a href="#" onclick="window.parent.location.href='http://www.kriblog.com';">
помните ⇒
target="_parent"
была устарел в XHTML, но он по-прежнему поддерживается в HTML 5.x.подробнее можно прочитать по следующей ссылке http://www.kriblog.com/html/link-of-iframe-open-in-the-parent-window.html
Да, я нашел
<base target="_parent" />
это полезно для открытия всех ссылок iframe, открытых в iframe.
и
$(window).load(function(){ $("a").click(function(){ top.window.location.href=$(this).attr("href"); return true; }) })
Это можно использовать для всей страницы или определенной части страницы.
спасибо всем за помощь.