我需要打开在同一个父页面的链接,而不是在一个新的页面打开它。
注意: iframe
和父页面是同一个域 。
我需要打开在同一个父页面的链接,而不是在一个新的页面打开它。
注意: iframe
和父页面是同一个域 。
我找到了最好的解决方案是使用的基础标签。 将以下内容添加在iframe页面的头:
<base target="_parent">
这将加载在父窗口的页面上的所有链接。 如果你希望你的链接,在新窗口中加载,使用方法:
<base target="_blank">
这个标签是完全支持所有浏览器。
使用目标属性:
<a target="_parent" href="http://url.org">link</a>
使用JavaScript:
window.parent.location.href= "http://www.google.com";
您可以使用任何选项
仅在父页面的情况下:
如果你想打开的所有链接到父页面或父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
。
尝试target="_parent"
的内部属性 anchor tag
。
最通用和最跨浏览器的解决方案是避免在使用“基地”标签的,而是使用“一个”标签的目标属性:
<a target="_parent" href="http://www.stackoverflow.com">Stack Overflow</a>
所述<base>
标记是不太通用的和浏览器在其对文档内的放置要求不一致,需要更多的跨浏览器测试。 根据项目和情况,就很难甚至完全不可行,实现理想的跨浏览器的布局<base>
标记。
与这样target="_parent"
的属性<a>
标签不仅是浏览器更友好的,但也可以让你要在iframe中打开这些链接分清,那些要在父母开。
<a target="parent">
将打开一个新标签/窗口链接... <a target="_parent">
将打开在父/当前窗口的链接,而无需打开新的标签页/窗口。 Don't_forget_that_underscore!
呀,我发现
<base target="_parent" />
这个有用的开放在iframe中打开的所有链接的iframe。
和
$(window).load(function(){
$("a").click(function(){
top.window.location.href=$(this).attr("href");
return true;
})
})
这一点我们可以使用整个网页或网页的特定部分。
感谢你的帮助。
如果您在您的网页使用的iframe,同时通过HTML超链接(锚标记)从IFRAME改变整个网页时可能会遇到问题。 有两种解决方案,以缓解这一问题。
解决方法1.您可以使用定位标记的目标属性,如下面的例子给出。
<a target="_parent" href="http://www.kriblog.com">link</a>
解决方法2.您也可以使用JavaScript iframe中打开父窗口了新的一页。
<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
<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>
尝试target="_top"
<a href="http://example.com" target="_top">
This link will open in same but parent window of iframe.
</a>