我有一个带有文本框的网页。在框中输入.js
文件名并单击执行按钮时,将通过AJAX和eval()
'd加载给定的文件。
此页面上还有一个空<div>
用作输出。如果加载的文件需要在屏幕上打印某些内容,则会将其添加到div
的{{1}}。
当向innerHTML
添加文本时,它通常不会在Javascript完成之前在屏幕上呈现,这很好,除了有时Javascript文件执行繁重的计算可能会占用更多的事实到一分钟完成,能够在执行时看到输出会很有用。
有没有办法“刷新”文件?
答案 0 :(得分:1)
我会尝试使用setTimeout
来解决这个问题。
function performInitialHtmlRender() {
/// This sets the innerHtml that you want the user to see
/// While you are performing the calculations
}
function performExpensiveCalculationsAndRender() {
// This is the really expensive function that
// you want to run once the browser has rendered
// the initial HTML
}
performInitialHtmlRender();
setTimeout(performExpensiveCalculationsAndRender(), 0);
答案 1 :(得分:0)
您可以使用setTimeout:
div.innerHTML = html;
setTimeout( function(){
doHeavyCalculations();
}, 35);