Ответы:
Я нашел лучшее решение было использовать базовый тег. Добавьте следующее в заголовок страницы в iframe:
<base target="_parent">
Это загрузит все ссылки на странице в родительском окне. Если вы хотите, чтобы ваши ссылки загружались в новом окне, используйте:
<base target="_blank">
Этот тег полностью поддерживается во всех браузерах.
<base target>
должен предшествовать любому <a href>
, так как он устанавливает контекст просмотра по умолчанию для следующих ссылок; <base href>
должен предшествовать любой ссылке на URL ( <* href>
<* src>
<form action>
<object data>
…), поскольку он устанавливает базовый URL, относительно которого разрешаются относительные URL.
<base
тег не закрывается в соответствии со спецификацией w3.org/TR/html5/document-metadata#the-base-element, так что должно быть<base target="_parent" >
Используйте целевой атрибут:
<a target="_parent" href="http://url.org">link</a>
<base target="_blank">
Это нормально, но вопрос здесь об одной ссылке, а не об изменении поведения всех ссылок в iframe. Для меня это правильный ответ.
Вы можете использовать любые варианты
в случае только родительской страницы:
если вы хотите открыть всю ссылку на родительскую страницу или родительский 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>
Как уже отмечалось, вы можете использовать целевой атрибут, но он технически устарел в XHTML. Это оставляет вас с использованием JavaScript, как правило, что-то вроде parent.window.location
.
Попробуй target="_parent"
атрибут внутри anchor tag
.
Если вы используете 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» и вместо этого использовать целевой атрибут тегов «a»:
<a target="_parent" href="http://www.stackoverflow.com">Stack Overflow</a>
Этот <base>
тег менее универсален, и браузеры не соответствуют его требованиям для его размещения в документе, что требует более кросс-браузерного тестирования. В зависимости от вашего проекта и ситуации, может быть трудно или даже совершенно невозможно достичь идеального кросс-браузерного размещения<base>
тега .
Выполнение этого с target="_parent"
атрибутом <a>
тега не только более удобно для браузера, но также позволяет различать ссылки, которые вы хотите открыть в iframe, и ссылки, которые вы хотите открыть в родительском.
Да я нашел
<base target="_parent" />
Это полезно для открытия всех ссылок iframe, открытых в iframe.
А также
$(window).load(function(){
$("a").click(function(){
top.window.location.href=$(this).attr("href");
return true;
})
})
Это мы можем использовать для всей страницы или конкретной части страницы.
Спасибо всем за вашу помощь.
Пытаться target="_top"
<a href="http://example.com" target="_top">
This link will open in same but parent window of iframe.
</a>
"_top"
же, как "_parent"
?
<script type="text/javascript"> // if site open in iframe then redirect to main site
$(function(){
if(window.top.location != window.self.location)
{
top.window.location.href = window.self.location;
}
});
</script>