Sleipnir にてとうとう YouTube 本家でもシークバーが出なくなった件
やれやれだぜ
Sleipnir において一部のYoutube埋め込み動画でシークバーが出ない現象に対処してみた
以前、上の通り埋め込み動画でシークバーが出ないというエントリを書きましたが、今回はついに YouTube.com でもシークバーが出なくなってしまいました。
そのエントリにも書いてますが埋め込みのほうでシークバーが出なくなったのが昨秋だったし、もしかすると約1年経ったということで YouTube.com のプレーヤーも新しくなったのかな?
なんかTridentコンポーネントとYouTubeはずっと以前から相性悪い感じですね。*1
一応の解決方法
フェンリルデベロッパーズブログに暫定的ですが回避方法が書いてありますね。
Sleipnir / Grani で YouTube のシークバーが表示されない現象について
Feather と呼ばれる高速軽量版(β)にすると良いとかなんとか。*2
あと、t_o さん曰く一部対応していない動画があるらしいです。
某所が Youtube のシークバー消失の件で盛り上がっているから… 軽量ベータ版のこと教えてあげて (一部軽量版に対応していない動画は駄目みたいですが) http://www.youtube.com/feather_beta
http://twitter.com/t_o/status/246123231306727424
ちなみに根は最初に記したエントリと一緒っぽいので、同じアプローチでも回避できたりします。
YouTubeOldPlayer.user.js
// ==UserScript== // @name YouTube Old Player // @include http://www.youtube.com/watch?* // ==/UserScript== (function() { var d = document, cE = "createElement"; var lnk = d.getElementsByTagName("link"); for(var i = 0, len = lnk.length; i < len; i++) { if(lnk[i].rel.match("shortlink")) { lnk = lnk[i].href.replace(/^http:\/\/youtu\.be\//, ""); break; } } var mp = d.getElementById("movie_player"); var obj = d[cE]("object"); obj.width = mp.width; obj.height = mp.height; var prm1 = d[cE]("param"); obj.appendChild(prm1); prm1.name = "movie"; prm1.value = "http://www.youtube.com/v/" + lnk + "?version=3&hl=ja_JP"; var prm2 = d[cE]("param"); obj.appendChild(prm2); prm2.name = "allowFullScreen"; prm2.value = "true"; var prm3 = d[cE]("param"); obj.appendChild(prm3); prm3.name = "allowscriptaccess"; prm3.value = "always"; var emb = d[cE]("embed"); obj.appendChild(emb); emb.src = "http://www.youtube.com/v/" + lnk + "?version=3&hl=ja_JP"; emb.type = "application/x-shockwave-flash"; emb.width = mp.width; emb.height = mp.height; emb.allowscriptaccess = "always"; emb.allowfullscreen = "true"; mp.parentNode.insertBefore(obj, mp); mp.parentNode.removeChild(mp); obj.id = "movie_player"; }());
発想的には cocoa さんのNicoGaipuと一緒ですね。
Sleipnir 3 は現状では Trident でユーザスクリプト使えないので Feather 使うか、WebKit で見るかしてください。*3
Sleipnir 3 は WebKit はともかく Trident はユーザがどうにか出来る余地が皆無に近いので、せめて SeaHorse と UserAction は早く出して欲しいところですな。*4