怎么一放,页面马上变空白了呢? 放在所有require()语句前,那个时候页面输出流应该没有完成吧,那个时候调用document.write怎么也会导致页面空白? 迷惑了。。。
8 回复
这个跟后端没关系, 现在的浏览器编写,不要用document.write(),用innerHTML或者createTextNode。 如果页面load后,调用document.write(),会把所有html内容替换为document.write()内的字符串。
个人的浅见:require.js异步调用时,文件执行在回调中完成,按照: “异步加载的外引js,js里面写document.write, 但是document.write放在回调中, 这时候document.write触发是通过回调,没有具体位置,这时候如果页面已经close了, 会主动调用一次document.open,然后才write,这时候就是重写了。” 具体可以参考require.js源码:execb function。 仅供参考。
@kingapple 那是document.write默默完成的,而且是打开当前页,具体可参考:Writing to a document that has already loaded without calling document.open() will automatically perform a document.open call. From:https://developer.mozilla.org/en-US/docs/Web/API/document.write