Can script.readyState be trusted to detect the end of dynamic script loading?

后端 未结 5 2021
醉话见心
醉话见心 2020-12-04 12:40

I use dynamic script loading to reduce the duration of the initial page load. To ensure that the functions and objects defined by a script are accessible, I need to ensure t

5条回答
  •  感动是毒
    2020-12-04 13:22

    In Firefox, Safari and Chrome, the onreadystatechange handler nevers gets called.

    I created a short test case, creating a dynamic script with only the onreadystatechange handler set:

    
    

    I performed the test on a local file in Firefox 2, Firefox 3, Firefox 3.5, Safari 3, Safari 4 and Chrome 3, and got similar results (here the logs recorded in FF 3.5):

    Fri Dec 18 2009 17:53:58 GMT+0100
    Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6
    Test for script.readyState behavior started
    Added script with onreadystatechange handler
    test1.js: Start
    test1.js: Start of closure
    test1.js: End of closure
    

    The onreadystatechange never gets called. In these browsers, only the onload listener is useful to detect the end of a script loading, the onreadystatechange is not needed.

提交回复
热议问题