链接打开页面*在*当前页面

时间:2011-07-22 15:10:01

标签: html firefox google-chrome xhtml svg

我有一个网站(此处:http://kitandmarcin.us),其中包含指向各种外部网页的链接。到目前为止,这很正常。

但是,当点击一个链接时,地址栏不会改变,对于某些链接,它显然是在当前页面上绘画(我的页面通过目标页面的透明部分显示)。

我在FF5和Chrome中都有这种行为。调查Chrome中文档的结构(但不是FF + firebug)显示embed元素从包含SVG变为包含目标页面。早期版本的Chrome以及FF3或4中都不存在此行为。

我的链接嵌入SVG中的一个转折点,它嵌入在页面中。

嵌入svg的xhtml:

<embed type="image/svg+xml" id="svg2" data="wedding_layout.svg" src="wedding_layout.svg"/>

SVG文档的一个片段,它嵌入了xhtml:

<foreignObject id="foreignObject4221-Gifts" width="225" height="175" x="689.48" y="375" class="body-box">
    <html:body class="body-body" style="text-align: center;width:100%;">
      <html:div style="text-align: center;border-style:none;width:100%;" class="body-cell"> <html:p>Gifts are not expected, but will be gratefully received</html:p><html:p>We have registered with <html:a href="http://www.williams-sonoma.com/registry/2812940/registry-list.html">Williams-Sonoma</html:a> and <html:a href="http://www.jonathanadler.com/giftregs.php?eventid=1421">Jonathan Adler</html:a></html:p>
      </html:div>
    </html:body>
</foreignObject>

有没有办法在不使用javascript的情况下停止此操作?例如,我可以以某种方式在a标签上使用目标属性吗?

如果javascript是唯一的方法,那么我应该知道什么吗?

更新:快速测试显示Windows上的FF5和Chrome尊重target="_top"属性,如果已设置,则按预期加载链接。

更新2 :这似乎也适用于Mac上的FF5。

2 个答案:

答案 0 :(得分:1)

您可以在嵌入式html锚点上使用target="_parent"target="_top"导航到当前页面中的链接。这消除了您遇到的意外行为。

答案 1 :(得分:0)

您可以使用target =“_ blank”,它将在另一个浏览器窗口中打开...