2016-01-17 38 views
1

我開始爲dashcode中的safari創建一個新的自定義模板(「該模板創建了一個空白web應用程序,可以自定義。」 )。它自動生成main.js函數負載被從主體稱爲index.html中:在新的代碼模板的加載函數中添加document.write會導致剩餘的JS無法生成

function load() { 
    dashcode.setupParts(); 
} 

我添加了一些JS代碼這似乎當我運行以執行作爲頭的一部分的功能後。我還在index.html的主體中添加了一個onclick事件:

<body onload="load()";> 
<input type="button" onclick="sayHello()" value="Say Hello" /> 
</body> 

我在運行時也得到了它的按鈕。

每當我添加一個document.write調用函數加載(應該只是在顯示按鈕之前加載時執行),我運行時沒有其他東西會產生。換句話說,每當負載變爲:

function load() { 
    dashcode.setupParts(); 
    document.write("LOADING"); 
} 

我沒有在功能顯示後添加的JavaScript。此外,我添加在正文中的onclick按鈕不會出現。

有沒有人對此行爲有解釋?

+0

這就是我們不再使用'document.write()'的原因。 –

回答

0

打電話document.write()頁面加載後會覆蓋當前頁面 - javascript,html,everything - 這就是爲什麼它通常是如此皺眉。查看DOM方法或innerHTML替代方法。

+0

感謝您的反饋。它也會導致後面在主體中創建的onclick按鈕停止生成。 document.write是否也導致身體中的任何進一步處理停止? –