我有一些链接应该在同一个窗口或选项卡中打开.为了实现这一点,我给窗口一个名称,就像在这个示例代码中:
link 1 link 2
这在Internet Explorer中工作正常,但firefox总是打开一个新的选项卡/窗口.有任何想法吗?
实际上,由gabriel1836链接的W3Schools文档只是一个非常简短的功能概述.
而且奇怪的是,mozilla自己的开发人员参考了CONTRADITCS这个逻辑.
MDC/DOM/Window.open
var WindowObjectReference = window.open(strUrl, strWindowName [, strWindowFeatures]);如果已存在名为strWindowName的窗口 ,则不会打开新窗口,而是将 strUrl加载到现有窗口中.在这种情况下,方法的返回值是现有窗口,并忽略strWindowFeatures.为strUrl提供空字符串 是一种通过名称获取对打开窗口的引用而不更改窗口位置的方法.如果要在每次调用window.open()时打开一个新窗口 ,则应为 strWindowName使用特殊值_blank.
但是,该页面还指出可以安装许多可以更改此行为的扩展.
因此,mozilla提供的文档是针对他们自己的浏览器的人是错误的,或者你的测试系统有些奇怪:)
此外,您当前的A-Href表示法对网络不利,并会激怒用户.
Text
这是一个非常好的方法.
许多人本能地"中间点击"他们想要在新标签中手动打开的链接,并且让你唯一的href作为"#"激怒他们堕落.
"#"技巧是一个冗余而且有点糟糕的技巧,可以阻止页面无意中到达某个地方,但这只是因为对如何使用缺乏了解 onclick
如果您FALSE
从点击事件返回,它将取消链接默认操作(默认操作是导航当前页面)
甚至比这个表示法更好的是使用像这样的非侵入式javascript:
Text
然后
Javascript中的window.open()函数专门用于打开一个新窗口,请参阅:w3schools文档.实际上听起来IE正在以非标准的方式处理事情(这并不奇怪).
如果要使用Javascript将现有位置重定位到新页面,则应查看location.replace()函数.
一般来说,我建议你开发Firefox,然后修复IE.Firefox不仅提供了更好的开发工具,而且W3C标准的实现往往更加正确.
默认情况下,如果在window.open参数上省略了维度,FF将使用新选项卡.您需要为新的浏览器窗口添加维度.
试试这个:
link 1