うごメモプレイヤーをJWPlayerに置き換える&簡単インストール

うごメモのプレイヤーはあまりにも低機能過ぎます。今回は、それを高機能なプレイヤーに置き換えてみます。
参考にするのは下のグリースモンキーYoutubeのプレイヤーをJWPlayerに置き換えてしまいます。
http://userscripts.org/scripts/show/95072


こんな感じになります。
ただし、正直そんなに便利というわけではありません。
キーフレームが少ないためか、自由な位置にシークはできず、最初から再生するのがやっとです。それでもストリーミング再生ができるのでよしとしましょう。
気に入らない人はinit関数からはずしてください。

ちなみに、jwplayerは上のスクリプトにあったパスをそのまま流用。できれば自分でアップしたjwplayerのパスに変えるほうがいいでしょう。

function ReplaceUgoPlayer()
{
	if(tag$("object").length != 0)
	{
	var path = unescape(e$("//param[@name='FlashVars']").snapshotItem(0).value.split("video=")[1]);
	var parent = tag$("object")[0].parentNode;
	parent.removeChild(tag$("object")[0]);
    	var player = document.createElement( "embed" );
        player.setAttribute( "height", 222 );
        player.setAttribute( "width", 256 );
        player.setAttribute( "type", "application/x-shockwave-flash" );
        player.setAttribute( "src", "http://player.longtailvideo.com/player.swf" );
        player.setAttribute( "id", "UgoPlayer" );
        player.setAttribute( "allowscriptaccess", "true" );
        player.setAttribute( "allowfullscreen", "false" );
        player.setAttribute( "flashvars", 'file=' + path + '&autostart=true');
        parent.appendChild( player );
	}
}

これをGreasemonkeyに追加し、initで呼び出せば、書き換えられます。

・・・が、遅い。loadイベントは画像等も読み込んだ後なので、ひたすらに遅い。再生が始まってから置き換えられてはほとんど意味がないです。
かといって、そのまま書けば要素が取得できない。

ということで、loadの前だけどDOM操作ができる方法を探しました。
jQueryのready等がそれですが、このためだけにjQueryなどのライブラリーを読み込むのは無駄。
さらに探したところ、最適そうなスクリプト発見!
jQueryの$(document).readyをjQuery非依存にする。 - monjudoh’s diary
こちらのスクリプトを借りてきましたところ、それっぽく動きました。ですが、Firefoxのえらーコンソールにはエラーが。window.onloadを取得しているところで発生している模様です。
ということで、addEventListnerに変えたところエラーはきえました。



なんだかとても長くなってしまったので、下のリンクからインストールできるようにしました。
最初はGoogleDocsにやったのですが、後ろがuser.jsにならなかったのでうまくできず、ジオシティーズにあげます。
http://www.geocities.jp/ugomemo_harimau/ugojs/ugomemo.0.1.5.0.user.js
[Firefox]Greasemonkey拡張をインストール後、上のリンクをクリック
[GoogleChrome]上のリンクをクリック
[Opera]http://ja.opera-wiki.com/User_JavaScript
の方法でユーザースクリプトフォルダを指定後、上のファイルをダウンロードして、そのフォルダに入れる。


次はダウンロードリンクをつける拡張です。

                                                        • -

修正版たまにですが再生されないことが確認されました。短すぎるとそうなるのかもしれません。ひとまず横に「元」ボタンを表示するバージョンです。押すと元のうごメモプレイヤーで再生されます。
0.1.5.1