在Mobile Safari上的setTimeout中设置window.location

时间:2012-12-19 15:28:05

标签: javascript jquery window mobile-safari settimeout

在setTimeout中,我正在设置新打开的窗口的位置。对于avoid the pop-up blocker,将使用临时本地URL打开窗口,然后将位置更改为目标URL。这适用于所有桌面浏览器,包括Safari。

但是,在移动版Safari中,在用户将焦点返回到原始窗口之前,新窗口的位置不会更新,即临时页面会保留在那里。

这就是JavaScript / jQuery的相关部分:

var self = $(this);
if (self.is("a")) {
    var clickEventHandler = function(event) {
        event.preventDefault();
        if (self.attr("target")) {
            var newWindow = window.open('loading.htm',self.attr("target"));
            var externalURL=self.attr("href");
            setTimeout( function() { newWindow.location=externalURL; }, 100 );
        }
    }
    $(this).bind("click", eventHandler);
}

0 个答案:

没有答案