我需要打开一个新窗口并在上面写一些 html/css。这是我用来实现它的代码:
myHTML = '...' //Around 400 bytes of html and styling
var doc = window.open('', 'preview', 'width=1200,height=600,scrollbars=1');
doc.document.write(myHTML);
doc.focus();
$(window).unload(function() {
doc.close();
});
我遇到的问题是,即使 Firefox 打开新窗口并立即写入/解析 html/css,立即将其显示给用户,Chrome 和 Safari 也需要大约 5 秒才能显示它。
为什么会这样?任何建议的解决方法?
最佳答案
感谢您的评论……我本来打算做一个 jsfiddle,但该网站暂时关闭了……现在又回来了,但我解决了这个问题。问题是 HTML 中的这一行:
<link rel="stylesheet" type="text/css" href="~/templates/preview.css" />
出于某种原因,Chrome/Safari 需要一些额外的时间来解析它。我将其更改为:
<link rel="stylesheet" type="text/css" href="http://www.fulldomain.com/templates/preview.css" />
现在一切正常。
关于javascript - document.write 非常慢,除了在 Firefox 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18949820/