2013-09-22 41 views
0

我需要打开一个新窗口并在其上写入一些html/css。这是我使用来实现这一目标的代码:document.write极其缓慢,除非在Firefox中

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

是我遇到的问题是,尽管火狐打开的新窗口,并立即写入/解析HTML/CSS,它呈现给用户Chrome和Safari需要大约5秒钟才能显示出来。

这是怎么发生的?任何建议的解决方法?

+0

你可以用实际的HTML数据示例发表小提琴吗? –

+1

也许'doc.document.close();'写完后? – loganfsmyth

+0

'doc'是一个令人困惑的窗口名称:请将其重命名为其他内容,例如'preview'。 – deltab

回答

0

感谢您的意见......我会做一个jsfiddle,但该网站暂时关闭......现在又回来了,但我解决了这个问题。问题是此行的HTML:

<link rel="stylesheet" type="text/css" href="~/templates/preview.css" /> 

出于某种原因,浏览器/ Safari浏览器需要一些额外的时间来解析。我将其更改为:

<link rel="stylesheet" type="text/css" href="http://www.fulldomain.com/templates/preview.css" /> 

现在一切正常。