Firefox поп-под - PullRequest
       6

Firefox поп-под

1 голос
/ 20 января 2012

У меня есть простая страница:

<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>

Но в Firefox 9 не работает pop-under. На этой странице https://bug369306.bugzilla.mozilla.org/attachment.cgi?id=296123 все окна являются всплывающими, когда dom.disable_window_flip == true. Какой самый простой и правильный способ создания всплывающих окон? Или нет решений для создания всплывающих окон в Firefox с помощью window.open?

Ответы [ 2 ]

2 голосов
/ 17 февраля 2012

это поведение было введено в Firefox 4.

Этот обходной путь : https://gist.github.com/1021924 все еще работает в FF10.

0 голосов
/ 09 февраля 2012

так что я действительно взломал и получил что-то несколько , работающее в Firefox. Я должен сказать, что это было очень быстро и очень некрасиво, но я не думаю, что когда-либо давал здесь хороший (или даже приличный) ответ, так что с таким же успехом могу попробовать начать. : P также, я должен заявить, что я запускаю всплывающее окно при отправке формы, но вы можете запустить его при загрузке страницы, если хотите. у меня есть логические значения, чтобы убедиться, что они не попадают под более одного раза. если кто-то захочет очистить мой код и показать более простое решение (то есть без множества логических значений / функций и setTimeout), я уверен, что мы все будем благодарны.

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;
});

надеюсь, что это кому-то поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...