File loader.js:
function main()
{
if (typeof window !== 'undefined') {
var script = window.document.createElement('script')
script.src = 'https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.11/lodash.core.min.js'
script.onload = function () { console.log('script loaded') }
window.onload = function () { console.log('window loaded') }
window.document.head.appendChild(script)
} else {
console.log('window not available yet')
}
}
if (typeof module !== 'undefined' && module.exports) {
exports.main = main
}
main()
File window.html:
<!DOCTYPE html>
<html>
<head>
<title>Test</title>
<script src="loader.js"></script>
</head>
<body>
<div>Test</div>
</body>
</html>
Console output when I open this HTML page:
script loaded
window loaded
My question:
In the above code, is it guaranteed that the script onload event always fires before the window onload?
from Is order of script onload and window.onload well defined when the script is a DOM node created dynamically from a loaded script?
No comments:
Post a Comment