首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Firefox弹出窗口

Firefox弹出窗口
EN

Stack Overflow用户
提问于 2012-01-20 23:28:18
回答 2查看 6.3K关注 0票数 1

我有一个简单的页面:

代码语言:javascript
复制
<html>
<head>
  <script type="text/javascript">
    function popUnder() {
      var adv = window.open('http://google.com', '_blank', 'status = 1, height = 600, width = 600, resizable = 1');
      adv.blur();
      window.focus();
    }
</head>
<body onclick="javascript: popUnder();">
...
</body>
</html>

但是pop-under在火狐9中不起作用。当dom.disable_window_flip ==为真时,在这个页面上https://bug369306.bugzilla.mozilla.org/attachment.cgi?id=296123所有的窗口都是弹出的。创建弹出窗口最简单、最正确的方法是什么?还是没有用window.open在火狐中创建弹出窗口的解决方案?

EN

回答 2

Stack Overflow用户

发布于 2012-02-17 23:39:53

此行为是在Firefox4中引入的。

这个workaroundhttps://gist.github.com/1021924仍然可以在FF10中工作。

票数 2
EN

Stack Overflow用户

发布于 2012-02-09 05:36:58

因此,我实际上已经在Firefox中获得了一些可以工作的东西。我不得不说,这是非常快速和丑陋的,但我认为我从来没有在这里给出一个好的(甚至是像样的)答案,所以不妨试着开始。:P另外,我应该声明我在提交表单时触发弹出窗口,但如果您愿意,也可以在页面加载时触发它。我把布尔值放进去确保它不会超过一次。如果任何人想要清理我的代码,并展示一个更直接的解决方案(即没有多个布尔值/函数和setTimeout),我相信我们都会很感激。

代码语言:javascript
复制
var submitted = false;
var redir = false;
function do_window_location() {
    if(submitted == false) {
        $('form').submit();
        submitted = true;
    }
    window.location = 'http://www.google.com';
}
function call_window_location() {
    if(redir == false) {
        setTimeout('do_window_location()', 100);
        redir = true;
    }
}
$('document').ready(function() {
    $('form').submit(function() {
        if(submitted == false) {
            call_window_location();
            $(this).submit();
            submitted = true;
        }
    });
    return true;
});

希望这能以某种方式帮助某些人。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8943766

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档