在做網站時遇到一個問題,網站用的以前的程序,在沒有改過什么程序的情況下,頁面總是提示Stack overflow at line 0的錯誤,而以前的網站都正常沒有出現過這種情況,在網上找了一下解決辦法如下:我的程序出現這種錯誤的原因是第2種,我在圖片中使用了onerror事件,當圖片加載出問題時就是顯示一個默認圖片,然而在我的網站目錄中並不存在這張默認圖片,而源指定的圖片也不存在,所以會觸發onerror事件,由於兩個圖片都不存在,所以導致了一個死循環,導致內存溢出。
出現該錯誤提示,主要有兩種原因:
1. 使用系統的事件名稱作為自定義函數名如:
onclick / onsubmit ... 都是系統保留的事件名稱,不允許作為重定義函數名稱。
2. 出現死循環 :
如:在圖片對象定義了 onerror 事件的循環處理、
<img src="http://www.hoocar.com/1.gif" onerror="this.src='/image/default.gif'" />
這里並不是說 1.gif 不存在, 可能是由於網絡阻塞原因造成, 這時會執行 onerror 事件,
調用 /images/default.gif 去做當前圖片的路徑, 但如果當前 /image/default.gif 這個圖片文件不存在,
再或者由於網絡原因, 下載'/image/default.gif' 又出現錯誤, 這就出現了死循環。