javascript - document.write 非常慢,除了在 Firefox 中

标签 javascript jquery html css performance

我需要打开一个新窗口并在上面写一些 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/

相关文章:

javascript - 无法动态加载MathJax

javascript - 检测用户何时离开页面

javascript - 当元素溢出时如何增加元素的高度

javascript - i18next 显示键而不是值

Javascript/jQuery 使用 Ajax Laravel 5.2 压缩图像正确定位帖子并保存到 Controller

javascript - 在 Chrome 扩展应用程序中存储设置的位置

javascript - 无法使用外部 css 文件删除 Material Ui 表格默认样式

javascript - jQuery AJAX 调用不执行成功 block

javascript - 将数据从按钮 onclick 传递到 ajax 代码

javascript - AngularJS 路由, Controller 不执行