Como saber se uma tag <script> falhou ao carregar

Estou adicionando dinamicamente<script> tags para @ de uma pági<head> e gostaria de saber se o carregamento falhou de alguma forma - um 404, um erro de script no script carregado, qualquer que sej

No Firefox, isso funciona:

var script_tag = document.createElement('script');
script_tag.setAttribute('type', 'text/javascript');
script_tag.setAttribute('src', 'http://fail.org/nonexistant.js');
script_tag.onerror = function() { alert("Loading failed!"); }
document.getElementsByTagName('head')[0].appendChild(script_tag);

o entanto, isso não funciona no IE ou no Safar

lguém conhece uma maneira de fazer isso funcionar em navegadores que não sejam o Firefo

(Não acho que uma solução que exija a inserção de código especial nos arquivos .js seja boa. É deselegante e inflexível.)

questionAnswers(16)

yourAnswerToTheQuestion