当我点击提交按钮在Yosemite(10.10.3)上的Safari(8.0.5)中打开一个弹出窗口时,在窗口弹出之前会有几秒钟的延迟.一些显示这个的简单代码是:
<!DOCTYPE html>
<html>
<body>
<button onclick="myFunction()">Click</button>
<script>
function myFunction() {
var myWindow = window.open("", "winName", "width=200,height=100");
myWindow.document.write("<p>Popped!</p>");
myWindow.focus();
}
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
弹出窗口第一次打开时会出现延迟.之后,如果弹出窗口保持打开状态,则没有延迟.如果我关闭弹出窗口,则在重新创建弹出窗口的请求完成后,延迟会返回.当需要创建一个新的弹出窗口时,window.open一直需要大约3秒钟.我试过禁用缓存,关闭扩展,......一切都无济于事.在Firefox和Chrome上,会立即显示新窗口.
有什么想法发生了什么?如何避免延迟?
谢谢.