2017-02-24 53 views
2

之前顯示我在Javascript總初學者,但不是在OOP或HTML。我已經開始了JavaScript的開始,並且遇到了第二個例子。下面的代碼應該在我的瀏覽器(Chrome),然後和警告框說:「第一個」顯示P1。不過,我不明白爲什麼它會以其他方式發生 - 警報出現在p1之前。警告框HTML

<html> 
<body> 

<p>p1</p> 
<script type="text/javascript"> 
alert("first"); 
</script> 

</body> 
</html> 

編輯:作爲一個額外的解決方案,操縱跨瀏覽器兼容HTML元素的問題,我認爲jQuery的將是web開發學習JavaScript後的基本下一步。

回答

1

請通過下面的鏈接瞭解腳本的加載和執行順序。

load and execute order of scripts

+1

引用此文章:「當動態插入腳本標記時,執行順序的行爲將取決於瀏覽器,您可以看到Firefox在這篇參考文章中的行爲。簡而言之,Firefox的較新版本默認使用動態添加的腳本標記爲異步,除非已經設置了腳本標記。「如果OPs頁面在firefox中打開,p標籤確實出現在alert box之前。 – thodic

+0

謝謝。轉換爲異步腳本和外部js文件解決了我的問題。但這對於多個異步腳本仍然是個問題。目前有什麼方法可以可靠地控制JS腳本跨瀏覽器的執行順序嗎?我正在網上閱讀的資料似乎表明,目前並沒有這本書,但我正在學習的書「Beginning Javascript」,在Chrome中測試時爲Firefox和IE提供了代碼。儘管我已啓用腳本,但IE仍在阻止我的腳本,但我會嘗試安裝Firefox –

+0

請將答案標記爲已接受。 –

0

html正在呈現,但由於警報不是由任何JavaScript事件觸發的,只要dom加載就會觸發。你沒有任何bug,你的瀏覽器的行爲是好的。

+1

這並不回答,爲什麼p標籤Chrome的警報後出現有機磷農藥的問題。 – thodic