当前位置:  开发笔记 > 编程语言 > 正文

Javascript window.open Firefox中的奇怪行为

如何解决《Javascriptwindow.openFirefox中的奇怪行为》经验,为你挑选了3个好方法。

我有一些链接应该在同一个窗口或选项卡中打开.为了实现这一点,我给窗口一个名称,就像在这个示例代码中:

link 1
link 2

这在Internet Explorer中工作正常,但firefox总是打开一个新的选项卡/窗口.有任何想法吗?



1> Kent Fredric..:

实际上,由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

然后

 



2> Noah Goodric..:

Javascript中的window.open()函数专门用于打开一个新窗口,请参阅:w3schools文档.实际上听起来IE正在以非标准的方式处理事情(这并不奇怪).

如果要使用Javascript将现有位置重定位到新页面,则应查看location.replace()函数.

一般来说,我建议你开发Firefox,然后修复IE.Firefox不仅提供了更好的开发工具,而且W3C标准的实现往往更加正确.


+1:"为Firefox开发然后修复IE"

3> Diodeus - Ja..:

默认情况下,如果在window.open参数上省略了维度,FF将使用新选项卡.您需要为新的浏览器窗口添加维度.

试试这个:

link 1

推荐阅读
手机用户2402851155
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有