onLoad/onPageShow之前是否有任何事件處理程序? onLoad的問題在於,如果顯示中有任何更改,則頁面在完全加載之前不會更改,然後腳本將運行。確保它儘快運行的最佳方法是什麼?onload之前的Javascript?
回答
如果您在<script>
標記內放入了Javascript 語句(而不是函數定義),它們將在頁面加載期間執行 - 在onLoad事件觸發之前執行。
<html>
<body>
<h2>First header</h2>
<script type="text/javascript">
alert("Hi, I am here");
document.write("<h3>This is Javascript generated</h3>");
</script>
<h2>Second header</h2>
</body>
</html>
需要說明的是,因爲這些元素可能不會呈現呢,讓你改變頁面的方式是能力有限,你不能搜索由ID元素。
底線:可能,不推薦。
我通常在這種情況下做如下:
- 做出可能改變無形的(通過
style="visibility:hidden;"
)頁面的部分; - Make onLoad運行Javascript代碼,更改頁面,然後將該零件的可見性設置爲
visibility:visible
。
我認爲只要元素之前已經定義了文檔,大多數瀏覽器就會正確處理getElemementById然而,直到onload被指出才能保證DOM,所以它是一個斜率... :) – 2011-08-21 06:16:42
您也可以使用DOMContentloaded事件,該事件在DOM完全加載但不是全部媒體時觸發。 OnLoad僅在加載完所有媒體後觸發。 – citadelgrad
簡單的答案是將函數調用放在頁面主體內的腳本標記內的DOM元素之後。我有這個問題使用JavaScript函數來設置我的導航菜單鏈接,但是我有一個谷歌地圖元素,導致頁面加載速度很慢。在這個特定的頁面上,我在鏈接後面運行腳本。這是一個解決方案,也許不是最好的,但它的工作原理。希望這可以幫助。
- 1. 在window.onload之前是否發生body onload?
- 2. JavaScript的onload和DOM
- 3. iframe javascript onload
- 4. javascript onload while while
- 5. javascript img onload()
- 6. javascript audio onload
- 7. Javascript appendChild onload事件
- 8. Javascript - onload,onclick事件
- 9. JSF 2.0 javascript onload/oncomplete
- 10. JavaScript中的Body onload函數
- 11. onload後的HTML狀態javascript
- 12. 的Javascript IMG onload事件
- 13. JavaScript - 返回之前的值?
- 14. @標誌之前的javascript值
- 15. Body onload腳本在PHP腳本之前執行
- 16. onload事件在內容加載之前觸發
- 17. Javascript在onLoad之後運行,但在其他任何設置默認設置之前運行
- 18. html select執行javascript onload
- 19. Javascript onload event not firing inside object
- 20. JavaScript運行onload和onchange
- 21. Javascript onload功能未運行
- 22. javascript和html onclick&onload函數
- 23. Javascript - 取消onload事件
- 24. window.open每5分鐘onload(javascript)
- 25. javascript:<body onload =「」> and window.onload
- 26. JavaScript onload函數循環
- 27. 從javascript填充html表onload
- 28. 在Javascript之前加載CSS
- 29. 延遲之前卸載Javascript
- 30. Javascript SyntaxError:missing;在聲明之前
同步內聯腳本元素將在這些事件之前運行。 – 2011-08-21 06:04:16