部分瀏覽器出現js不兼容問題,注意js代碼和html代碼的順序

今天用laydate結合yii2用,發現一個很不兼容的問題,360瀏覽器顯示ok,谷歌需要重新打開頁面才能正常顯示,ie則不顯示,比對官方demo,代碼沒有問題,經過測試發現原來是頁面js代碼放在了html標籤的前面造成的,很少寫前段,一直沒注意這個問題,長記性了!

 

計算機讀代碼的順序是從上往下讀的,html文件中的順序是<head>→<body>→body後方

javascript代碼寫在<head>裏面:

由於這時候網頁主體(body)還未加載,所以這裏適合放一些不是立即執行的自定義函數,立即執行的語句則很可能會出錯(視瀏覽器而定)

javascript代碼寫在<body>裏面:

這裏可以放函數也可以放立即執行的語句,但是如果需要和網頁元素互動的(比如獲取某個標籤的值或者給某個標籤賦值),Javascript代碼務必在標籤的後面

javascript代碼寫在<body>下面:

這時候整個網頁已經加載完畢了,所以這裏最適合放需要立即執行的命令,而自定義函數之類的則不適合。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章