I’m trying to attach an event handler to the load event of a link tag, to execute some code after a stylesheet has loaded.
new_element = document.createElement('link');
new_element.type = 'text/css';
new_element.rel = 'stylesheet';
new_element.href = 'http://domain.tld/file.css';
new_element.addEventListener('load', function() { alert('foo'); }, false);
document.getElementsByTagName('head')[0].appendChild(new_element)
I have tried onreadystatechange as well:
new_element.onreadystatechange = function() { alert('foo'); }
Unfortunately neither approach results in an alert being triggered.
Furthermore, new_element.onload is null after registering a handler for the load event with addEventListener. Is that normal?
PS: I may not use any framework in solving this.
For CSS stylesheets (not LINK elements in general) i’m using manual interval, by poking it’s rules length. It works crossbrowser (AFAIT).
In code above, the cssStylesheet is DOMElement.