Html 超链接未在Iframe中打开,而是在新选项卡中打开
我在左侧面板侧边栏上有一些超链接。单击其中任何一个,相应的页面应在右侧的iframe中打开。现在,这对大多数链接都很有效。但是对于一些链接,不幸的是,对于我需要使用的链接,它仅在页面加载的第一次在iframe中正确打开。之后,它会在新选项卡中继续打开 控制台显示“不安全的JavaScript试图从带有URL2的帧访问带有URL1的帧。域、协议和端口不匹配。”但即使在链接在iframe中正确打开的情况下也会出现这种情况。我完全不明白为什么会发生这种情况。帮帮我Html 超链接未在Iframe中打开,而是在新选项卡中打开,html,iframe,Html,Iframe,我在左侧面板侧边栏上有一些超链接。单击其中任何一个,相应的页面应在右侧的iframe中打开。现在,这对大多数链接都很有效。但是对于一些链接,不幸的是,对于我需要使用的链接,它仅在页面加载的第一次在iframe中正确打开。之后,它会在新选项卡中继续打开 控制台显示“不安全的JavaScript试图从带有URL2的帧访问带有URL1的帧。域、协议和端口不匹配。”但即使在链接在iframe中正确打开的情况下也会出现这种情况。我完全不明白为什么会发生这种情况。帮帮我 <a href= "some
<a href= "some url" target="iframe_P"> </a>
<iframe src="random url" name="iframe_P" scrolling="auto"></iframe>
我也尝试过使用id=“iframe\u p”。也不起作用。看看这个:
<a href="http://www.wikipedia.org/" target="myIframe">Link Text</a>
<iframe src="" name = "myIframe"></iframe>
< P> >你也许应该考虑打开一个模态弹出框中的iFrAME。你可以创建一个简单的,适合你需要的东西这里有一篇关于它的文章:
下面是一个JSFIDLE示例: html: 开放模态<div id="openModal" class="modalDialog">
<div>
<a href="#close" title="Close" class="close">X</a>
<h1>Delete this and put your iframe here</h1>
</div>
希望这有帮助您是指向自己的域还是指向第三方域的链接?这些链接属于我正在使用的同一网络。由于我在控制台上收到“域、协议和端口不匹配”消息,可能是域不匹配。但是对于一些肯定在我的域之外的其他链接,例如,对于一些公共链接,它们在iframe中完全打开,并显示“域、协议和端口不匹配”消息;但没有起作用。简言之,这对某些URL是有效的,而不是所有URL。正如我在问题中所展示的,我正在以同样的方式进行这项工作。不起作用。@m2k是的,我的想法完全正确。有什么原因导致这种不一致的行为吗?我可能的猜测是,yahoo.com和google.com都有内部重定向,防止它被加载到iframe中。我不是专家,这只是直觉谷歌和雅虎不支持这种行为。原因是,谷歌正在发送一个“X-Frame-Options:SAMEORIGIN”响应头。此选项可防止浏览器显示与父页面不在同一域中的iFrame。
.modalDialog {
position: fixed;
font-family: Arial, Helvetica, sans-serif;
top: 0;
right: 0;
bottom: 0;
left: 0;
background: rgba(0,0,0,0.8);
z-index: 99999;
opacity:0;
-webkit-transition: opacity 400ms ease-in;
-moz-transition: opacity 400ms ease-in;
transition: opacity 400ms ease-in;
pointer-events: none;
}
.modalDialog:target {
opacity:1;
pointer-events: auto;
}
.modalDialog > div {
width: 400px;
position: relative;
margin: 10% auto;
padding: 5px 20px 13px 20px;
border-radius: 10px;
background: #fff;
background: -moz-linear-gradient(#fff, #999);
background: -webkit-linear-gradient(#fff, #999);
background: -o-linear-gradient(#fff, #999);
}
.close {
background: #606061;
color: #FFFFFF;
line-height: 25px;
position: absolute;
right: -12px;
text-align: center;
top: -10px;
width: 24px;
text-decoration: none;
font-weight: bold;
-webkit-border-radius: 12px;
-moz-border-radius: 12px;
border-radius: 12px;
-moz-box-shadow: 1px 1px 3px #000;
-webkit-box-shadow: 1px 1px 3px #000;
box-shadow: 1px 1px 3px #000;
}
.close:hover { background: #00d9ff; }
-webkit-transition: opacity 400ms ease-in;
-moz-transition: opacity 400ms ease-in;
transition: opacity 400ms ease-in;