2011-01-30 44 views
0

我已經把所有的js文件放在html的底部,但是當我用firebug(在firefox中)時,js會在html文檔之後被調用。爲什麼我的瀏覽器首先獲得js?

任何解決方案?我可以用onLoad來加載js,但我首先想知道這個問題。

感謝, 克勞迪烏

更新: 我

[html] 

[head] 

    //stuf with no js files included 

[/head] 

[body] 

    //content 

    [script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js" type="text/javascript"][/script] 

    [script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"][/script] 

    [script src="js/script.js" type="text/javascript"][/script] 

[/body] 

[/html] 

但JavaScript是首先加載(你可以在圖片中看到 - 螢火蟲 - 淨值):

enter image description here

+0

你有沒有想過要在JS之前加載圖片? – 2011-01-31 13:12:45

回答

3

瀏覽器從頂部解析到底部。由於瀏覽器事先已經分析了所有內容,所以在DOM文件加載時,在HTML文檔末尾的任何腳本都會在執行完畢之前執行。

如果需要事件處理程序綁定到窗口的Load事件,在腳本中這樣做,通過window.onloadwindow.addEventListener('load')或者最好是一個跨瀏覽器的事件系統延遲他們的時間長一點。

如果您需要在DOM準備好之前執行javascript,請提前將腳本移動到<head>,以便先讀取它。

如果你真的可以澄清,因爲問題是有點令人困惑,儘管這是一個你需要的東西的真實例子。

編輯:您在加載DOM後放置腳本。圖像並非全部在該點加載,僅在窗口的load事件期間加載。

確實沒有理由你應該在圖像加載後加載這些腳本...我會guestimate在需要使用網站99.99%的js/jQuery的具有相同的加載順序,你此刻做..

如果您真的需要這個,只需在窗口的load事件中使用腳本注入方法。

相關問題