我已經在不同的php文件中劃分了頁面的各個組件。在導航php文件中,我有我想在javascript中使用的對象。 我應該在哪裏放置javascript <script ...>
,以便它可以正常加載?現在我把它放在一個完全獨立的文件header.php中?但我不認爲JavaScript是從nav.php中挑選對象 我希望我是有道理的;)在哪裏包含腳本文件
回答
標準的建議是,你應該把你的關閉BODY標籤之前的所有SCRIPT鏈接放在文檔底部。這簡化網絡連接:
無論你在哪裏放置PHP渲染過程,它只在輸出HTML和javascript是結合在一起的,HTML元素在你嘗試在javascript中訪問它們之前就已經存在了。
因爲這個原因,大多數JavaScript工具包都有一個函數,用於在頁面元素加載後執行javascript,比如jquery的document.ready函數。
正是我的想法。我使用$(document).ready。 – amit
一般的建議是把<script>
在HTML頁面的底部。
我的理解是最好的速度來自於把腳本在頁面的結束?在底部 造成腳本的問題
http://developer.yahoo.com/performance/rules.html
認沽腳本是他們阻止並行下載。 HTTP/1.1規範建議瀏覽器每個主機名並行下載至少兩個組件。如果您從多個主機名提供圖像,則可以同時發生兩個以上的下載。然而,當腳本正在下載時,瀏覽器將不會啓動任何其他下載,即使是在不同的主機名上。
在某些情況下,將腳本移動到底部並不容易。例如,如果腳本使用document.write插入頁面內容的一部分,則不能在頁面中移動較小的內容。也可能存在範圍問題。在很多情況下,有辦法解決這些情況。
另一個經常出現的建議是使用延遲腳本。 DEFER屬性指示該腳本不包含document.write,並且是瀏覽器可以繼續呈現的線索。不幸的是,Firefox不支持DEFER屬性。在Internet Explorer中,該腳本可能會延遲,但不如預期的那麼多。如果腳本可以被延期,它也可以被移動到頁面的底部。這會讓你的網頁加載速度更快。
通過重新定位標籤(或使用更深奧的方法來避免阻塞),您獲得的性能優勢與獲得它們在瀏覽器中正確緩存的好處相比非常小。
C.
- 1. 在哪裏包含jaxb.properties文件?
- 2. opencv2包含文件在哪裏?
- 3. 包含文件夾腳本
- 4. VC++ 2010基本包含文件在哪裏?
- 5. 在node.js腳本中包含JavaScript文件
- 6. 腳本文件包含在Laravel 5.3
- 7. Drupal 7:頁腳文本在哪裏
- 8. 什麼和在wordpress中包含tinymce.init的文件在哪裏?
- 9. 哪裏「包含來自App_data文件夾的文件」選項?
- 10. 包含的PHP文件是否可以知道它包含在哪裏?
- 11. 哪裏不包含數組
- 12. Bundler不包含腳本文件
- 13. 我到底在哪裏包含自定義主題文件?
- 14. 如何判斷頭文件包含在哪裏?
- 15. autoconf/configure在哪裏尋找包含文件
- 16. Gradle,在哪裏包含testRuntime的配置文件
- 17. 應該在哪裏「包含」放在C++
- 18. 在PHP腳本中包含來自文本文件的數組
- 19. 如何在Linux Shell腳本文件中包含文件?
- 20. 在哪裏包括aiml bot文件
- 21. 包裹的文件在哪裏?
- 22. Git的包文件存儲在哪裏?
- 23. maven在哪裏打包XSD文件?
- 24. Postgresql包含在哪裏條款
- 25. 有效記錄包含在哪裏
- 26. 加入在哪裏,幷包含子句
- 27. 檢測Mixin包含在哪裏
- 28. symfony在哪裏包含內核類?
- 29. Angular2 RC5:在哪裏包含HttpModule和FormsModule?
- 30. Linq查詢在哪裏包含
這個 –
沒有標準,也許沒有標準,但肯定有一個通俗智能的把js放在頁面底部,*儘可能* – Strae