2011-12-12 54 views
0

我試圖調試Safari 3.1發生的問題(但不是在3.2或更高版本,也沒有在任何其他瀏覽器,是的,我試圖關閉這個是「升級你的瀏覽器」,但客戶端不會允許它)。所以我在我的JavaScript文件中拋出了一堆alert('doing foo');聲明,但沒有一個顯示出來。我可以在控制檯中鍵入警報命令,並顯示出來。那麼爲什麼代碼中的警報沒有顯示?爲什麼不是Safari 3.1顯示我的警報

另外,任何關於如何在這樣古老的瀏覽器中調試javascript的一般提示將不勝感激。

並回答以下問題 - 我將這些警報中的一些警告放在我知道正在執行的代碼中,因爲它正在做正確的事情。我關閉了瀏覽器開發人員菜單中的緩存。

+0

emm任何可用的代碼? – Neal

+0

你可以發佈代碼(或演示頁面)嗎?這看起來很奇怪。 – Blender

回答

1

我的猜測是你沒有清除你的緩存,或者你的代碼在遇到任何alert語句之前拋出一個錯誤。

+0

我在Developer菜單中關閉了緩存,並且在錯誤控制檯中沒有錯誤。 –

+0

發現開發人員菜單中的「禁用高速緩存」不起作用 - 必須清空編輯菜單中的高速緩存。 –

0

因爲包含alert()調用的代碼未執行。如果沒有更多信息,很難提供更多幫助,但請檢查JS控制檯是否有任何可能過早停止執行的報告錯誤。

+0

不,代碼正在執行。 –

+0

你怎麼知道的?另外,也許可以嘗試'console.log('doing foo')'。但我無法想象這會發揮作用,警報不會。 –

+0

代碼正在執行,因爲它正在執行它應該做的一些事情。這只是沒有做其他事情。 –