В текущем проекте была задача написания полуавтоматического граббера страниц. Для этого необходимо было делать инъекцию скрипта в текущую страницу. Решил таким букмарклетом:
<a href="javascript:(function(){var d=document,s; s=d.createElement('script'); if(typeof s!='object')s=d.standardCreateElement('script'); s.src='http://example.com/js/bookmarklet.js'; s.type='text/javascript'; document.getElementsByTagName('head')[0].appendChild(s);})();">Do it!</a>
В более читаемом виде:
(function(){ var d = document, s; s = d.createElement('script'); if(typeof s != 'object'){ s = d.standardCreateElement('script'); } s.src = 'http://example.com/js/bookmarklet.js'; s.type = 'text/javascript'; document.getElementsByTagName('head')[0].appendChild(s); })();
Оттестировано в IE6, IE7, FF2, FF3, Opera 9.2, Opera 9.5, Safari.