Javascript Google Chrome打开window.open(someurl)很好…但是点击链接的页面/窗口也会打开someurl.com

Javascript Google Chrome打开window.open(someurl)很好…但是点击链接的页面/窗口也会打开someurl.com,javascript,internet-explorer,google-chrome,onclick,window.open,Javascript,Internet Explorer,Google Chrome,Onclick,Window.open,正如标题所说,Google Chrome可以打开window.opensomeurl,但点击链接的页面/窗口也可以打开someurl.com 当我单击带有onclick=shpop的click here链接时。。。附加呼叫,我的弹出窗口将正确打开/facebook\u login.php…但是…同时,原始窗口也将打开/facebook\u login.php 这在Chrome和IE中都会发生,但FF很好,正是我想要的 我有这个链接: <a href="/facebook_login.php

正如标题所说,Google Chrome可以打开window.opensomeurl,但点击链接的页面/窗口也可以打开someurl.com

当我单击带有onclick=shpop的click here链接时。。。附加呼叫,我的弹出窗口将正确打开/facebook\u login.php…但是…同时,原始窗口也将打开/facebook\u login.php

这在Chrome和IE中都会发生,但FF很好,正是我想要的

我有这个链接:

<a href="/facebook_login.php" onclick="shpop('','','loginfb','');return false">Click here</a>

有什么想法吗?

根据最近一次的调查,在2008年,只有5%的用户禁用了Javascript。现在可能会更少。默认情况下,所有浏览器都已启用。因此,无论出于何种原因,通常只有高级用户选择禁用javascript,因此他们会明白,他们访问的任何网站都很有可能无法按预期工作—Facebook、Google、Amazon—如今每个人都在使用javascript。假设用户正在使用它是完全可以接受的,如果您真的想覆盖所有基础,那么在页面的开头为这些用户提供一个完整的版本:

返回false和onclick中包含false有什么关系

这个

只是需要

onclick="return shpop('','','loginfb','');"
如果onclick返回任何错误,链接仍将打开。您是否在JavaScript控制台中看到任何错误?我想知道浏览器是否对任何一个问题感到害怕。在窗口中,使用document.domain指定名称。试着给它起个名字

onclick="return shpop('','','loginfb','foobar');"

以下是最简单的解决方案:

<a href="/facebook_login.php" 
    target="FBpopup" 
    onclick="window.open('about:blank','FBpopup','width=980,height=600')">
    Click here
</a>
您不需要返回false,因为您实际上希望执行链接

诀窍是在window.open和链接目标中使用相同的窗口名

window.open将创建弹出窗口,然后您的登录页面将在该弹出窗口中运行


如果弹出窗口被阻止或Javascript被禁用,您的登录页面将在一个新选项卡中运行。

作为使用NoScript浏览的人,我无法忍受网站在禁用Javascript时破坏基本功能(如链接)。我不介意花哨的AJAX功能不起作用,但简单的内容应该就可以了。brilliant,希望像您这样的人能回复。你能解释一下为什么默认情况下关闭所有页面上的javascript吗?我的意思是,我了解一些网站——比如gmail javascript版本几乎摧毁了我的上网本,而它们的纯文本版本还可以,但一般来说,它只起到增强功能的作用。AJAX不再被认为是“花哨”——现在大多数大型网站都在使用它!通常,新的浏览器安全漏洞攻击似乎使用Javascript——并不是说JS本身不安全,而是通常它似乎被用来触发其他协议中的安全漏洞。因此,默认情况下,我在浏览时禁用了JS,希望在有人发现新的漏洞时,我能得到一些额外的保护。对于受信任的站点,我将启用JS。禁用JS后,我希望有些事情会失败——没关系,然后我将决定是否为该站点启用它。但基本的HTML功能,如链接和表单,我希望不管怎样都能正常工作。看起来已经足够公平了。我也同意链接应该仍然有效——如果它在lynx webbrowser中有效,这是一个很好的测试;但我更强调了他坚持允许非JavaScript用户的一切:我刚刚遇到这个问题:这表明不到一半的百分之一现在关闭它。另一个因素要考虑的是这个问题-有人指出,你仍然希望你的网站工作非标准访问,如屏幕阅读器,搜索引擎和移动浏览器——有趣的是,给出了讨论的主题——非标准浏览器可能有缺陷的javascript引擎;
onclick="return shpop('','','loginfb','foobar');"
<a href="/facebook_login.php" 
    target="FBpopup" 
    onclick="window.open('about:blank','FBpopup','width=980,height=600')">
    Click here
</a>