2016-09-28 41 views
1

Firefox +一些JavaScript =標籤,帶有永不完成加載的無限旋轉輪(Chrome可以!)。爲什麼?

function clickMe() { 
 
      document.write("You clicked on the Button!"); 
 
}
<html> 
 
    <body> 
 
     <script src="script.js"></script> 
 
     <input type="button" value="Button" onclick="clickMe()" /> 
 
    </body> 
 
</html>

這裏按下按鈕,使Firefox標籤裝入輪永遠旋轉。這是爲什麼?

代碼中是否有任何錯誤或者這可能是Firefox的一些問題?

非常感謝!

+2

你應該**永遠**不要**使用'document.write',並且以其他方式做它可能解決這個問題。 – adeneo

+0

爲什麼你總是使用'document.write'? – woody1990

+0

我只是不知道我應該從來沒有使用它。感謝您的評論! –

回答

1

documentation

寫了一份文件,已加載,而無需調用 document.open()將自動執行document.open電話。

編寫完成後,建議撥打document.close(), 告訴瀏覽器完成加載頁面。

所以每當你對一個已經完成加載,就像你有一個事件處理程序做的,整個文件被覆蓋,並且document.open被自動調用,但該文件從來沒有完成加載和文件調用document.write請撥打document.close,裝載輪繼續旋轉。

顯然,不同的瀏覽器會做不同的事情,它並沒有特別指定,或者它們不應該永遠「掛起」。

由於document.write通常不會被使用,這實際上不是問題,只需將其替換爲修改DOM而不是覆蓋整個文檔的適當方法即可。

+0

非常感謝! –

相關問題