Javascript before onload?

前端 未结 2 970
一生所求
一生所求 2020-11-30 09:14

Is there any event handler before onLoad/onPageShow? The trouble with onLoad is if there is any change in display, the page will show up without change until it is fully loa

相关标签:
2条回答
  • 2020-11-30 09:27

    The simple answer is to place the function call after the DOM element inside script tags, within the body of your page. I had this problem using a javascript function to style my navigation menu links, however I had a google map element that caused the page to load slowly. On this paticular page, I ran the script just after the link. It is a solution, maybe not the best but it works. Hope this helps.

    0 讨论(0)
  • 2020-11-30 09:33

    If you put Javascript statements (rather than function definitions) inside a <script> tag, they will be executed during page loading - before the onLoad event is fired.

     <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>
    

    The caveat is that you cannot search for elements by ID because these element might not have been rendered yet, so your ability to change the page that way is limited.

    Bottom line: possible, not recommended.

    What I usually do in such situations is as follows:

    • Make the parts of the page that may change invisible (via style="visibility:hidden;");
    • Make onLoad run a Javascript code that changes the page and then sets the visibility of the said parts to visibility:visible.
    0 讨论(0)
提交回复
热议问题