Both firefox and safari refuses to execute load
event when loaded from an external js file. It only works on google chrome.
I can’t really understand the problem.
in my html :
JavaScript
x
2
1
<script src="/assets/js/pages/myFile.js" type="text/javascript"></script>
2
in myFile.js
:
JavaScript
1
4
1
window.addEventListener("load", function(event){
2
// do someting (only works in chrome browser)
3
})
4
My html page is serverd by node.js (ejs page), myFile.js
is recognized by the 3 browsers (Firefox, chrome & safari), so I don’t really understand why my load event fail with ff & safari.
I’ve also tried window.unload
unsuccessfully.
Any suggestion ?
Advertisement
Answer
Seems like event is already fired, I’m suggest to always check for it:
JavaScript
1
12
12
1
function onLoad(callback){
2
if (document.readyState === 'complete') {
3
callback();
4
} else {
5
window.addEventListener("load", callback);
6
}
7
}
8
9
onLoad(function(){
10
// do someting
11
});
12