extsrc.js - make all your [script]s 'async' (works with document.write too)
whiteposts.com
whiteposts.com
<script extsrc="..."></script>
Now all of your scripts are loading AFTER the page renders. It works even if scripts use document.writeI've tested with Chrome/Ubuntu and Firefox/Ubuntu - works like it should.
ALPHA! Test it and let me know if your browser matches the reference rendering. If it doesn't - maybe we can do some fallback.
Quite a few bugs fixed by now. Please test it and leave bug reports.
UPD. Major bugs with Opera fixed. IE probably too, waiting for confirmation.
FIXED loading time to browser-specific DOM ready events. Don't see the need to use actual DEFER. Any reasons to do it?
If you can't convince the widget provider to change the script, you can place <script>document.write.to = "the URI of the following widget script";</script> right before the widget script itself.
Also, on your fixed loading time thing: with onload, it still won't run until every image and iframe on your website has loaded too.
It uses browser-specific event. onload is fallback.
I've tested the slow image (20 second delay instead of image) - no, it doesn't require loading of images, scripts fire up as soon as HTML finishes loading. Sorry.
Test it and tell me if you can break it! :)