MIDIファイルへのリンク抽出するBookmarklet

WebページにMIDIが埋め込まれているページがあるとき、そのページにあるMIDIファイルへのリンクを作成するBookmarkletです。よく使われる、BGSOUNDタグとEMBEDタグの両方に対応しています。ただし、OperaはEMBEDタグの埋め込みだとうまくいきません(詳細は別エントリーで)。

javascript:function cremidlnk(document){var elem=document.getElementsByTagName('BGSOUND')[0];if(elem!=undefined){var midlink=document.createElement('a');midlink.href=elem.getAttribute('src');midlink.innerHTML='[BGSOUND]';document.body.insertBefore(midlink,document.body.firstChild);}elem=document.getElementsByTagName('embed');if(elem!=undefined){for(var i=0;i<elem.length;i++){var midlink=document.createElement('a');midlink.href=elem[i].getAttribute('src'); midlink.innerHTML='[EMBED]';document.body.insertBefore(midlink,document.body.firstChild);}}}if(frames.length>0){for(var i=0;i<frames.length;i++){cremidlnk(frames[i].document);}}else cremidlnk(document);void(0);

一応、フレームがあるページにも対応してますが、JavaScriptのセキュリティ上の制限から、フレーム内のページが別ドメインだった場合は動作しません。