国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

在網(wǎng)頁中使用document.write時遭遇的奇怪問題

2019-11-21 00:16:51
字體:
供稿:網(wǎng)友
在前些日子的對Razor模板引擎向JavaScript移植進行研究的過程中,我發(fā)現(xiàn)如果使用document.write輸出的內(nèi)容中包含了調(diào)用外部的JavaScript的<script>標記,就可能出現(xiàn)一點問題――在這里面被調(diào)用的外部JavaScript可能會在不適當?shù)臅r間被執(zhí)行,對于IE和Opera來說,就是當write的參數(shù)中的所有其它部分內(nèi)容都被解析之后,這些外部的JavaScript才會執(zhí)行。

而在進一步研究中我又發(fā)現(xiàn),對于Chrome和Safari這兩個使用了WebKit網(wǎng)頁排版引擎的瀏覽器來說,如果外部調(diào)用的JavaScript中再次調(diào)用document.write來寫入另一個調(diào)用外部JavaScript的<script>標記,則第二次調(diào)用的外部JavaScript不會被執(zhí)行,而之后的一些內(nèi)容也會被打亂――實際情況其實要稍微復雜一點,跟第二級、第三級document.write調(diào)用的參數(shù)中的具體內(nèi)容有關(guān),因為時間和精力的關(guān)系我沒有辦法作更具體的測試了。

在經(jīng)過這些研究以后,幾大主流瀏覽器中唯一幸存的、能正確處理所有document.write調(diào)用的,就只有Firefox了。
Firefox的一種偽“多線程”事件處理的特性一直是讓我很不見待的東西,這件事也算是對“各有所長”的一個佐證吧。

想要了解這個問題所引發(fā)的種種現(xiàn)象,可以下載write-test.zip,解壓之后用各種瀏覽器打開其中的write-test.htm。

這幾天我一直在嘗試編寫一個替用函數(shù)來解決這個問題,目前已經(jīng)能順利通過上面那個鏈接中的測試了。
如果接下來的幾天之內(nèi)沒有發(fā)現(xiàn)什么明顯的問題,我會把它發(fā)在博客上供大家參考。
測試代碼,打包下載
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 屏山县| 湟中县| 大方县| 宁阳县| 涟源市| 高淳县| 灵丘县| 恩施市| 丰县| 金湖县| 南充市| 梁平县| 遵义县| 姚安县| 日喀则市| 武乡县| 南木林县| 彩票| 梁河县| 皮山县| 贡山| 望城县| 永靖县| 汝南县| 凤翔县| 若尔盖县| 大同市| 屏东市| 长春市| 平江县| 铜梁县| 上林县| 阳江市| 桃源县| 临猗县| 宜章县| 赞皇县| 长葛市| 镇远县| 平凉市| 阿勒泰市|