2012-05-31 110 views
6

我有我的網頁小碼Chrome是否因停止運行而停止運行某些JavaScript代碼?

<script type="text/javascript"> 
function doPost() { 
document.forms["form"].submit(); 
} 
    function Func1Delay() 
{ 
setTimeout("doPost()", 0); 
} 

....

<body onload="Func1Delay()"> 

我有這樣的錯誤控制檯說

遺漏的類型錯誤:無法調用「創造」未定義的

在右側,這是由於Chrome擴展MeasureIt引起的。當我禁用它時,我的腳本就起作用了。有沒有解決這個問題的方法?

謝謝。

+0

它如何「阻止」你的代碼? –

+1

我認爲它可能是一個擴展與頁面中的JavaScript發生衝突。如果您的代碼不在頁面中,錯誤是否仍然存在? –

+0

是的,我刪除了JavaScript代碼,並在那裏留下了正文onload =「functionDelay()」。它仍然有這個錯誤。 – Matt

回答

3

簡短答案是YES。 但是完整的答案是NO,它不是Chrome,而是一些干擾你的代碼的擴展。 例如:

1)內容腳本可以添加偵聽器並使用stopPropagation。在這種情況下,您的代碼將不會收到該事件。我可以對內容腳本失敗的更具體情況進行映像,因此可以阻止其他偵聽器執行。

2)內容腳本可能會混淆您網頁的元素。它可以刪除一些,並添加其owm。如果擴展名添加了一個名爲var或者函數的SCRIPT元素,其名稱與您的名字完全相同,會發生什麼?

我們無法確定擴展程序的代碼是如何寫入的。

順便說一句,有很多Chrome的擴展會干擾頁面。幾個月前,針對Chrome瀏覽器的Skype擴展程序被認定爲在該瀏覽器中存在干擾並破壞網頁和視頻播放的穩定性。

+0

這個特定的擴展也打破了我的網頁之一。 – mdiener