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