#chiroruLab

趣味と日々の雑記録

アプリ版YouTubeで開くブックマークレット「YouTubeで開く」

f:id:chiroru_27:20130830184153p:plain:w300
アプリ版のYouTubeの方が操作性が良かったり、画質が良かったり(気のせい?)
なので、出来るだけアプリで開きたいのですが、アプリでは開かないURLの時ってありますよね。

なぜか、標準では飛ばすボタンがない...
「無いなら、作ればいいじゃない」というわけで、いつも通り作ってみました。
割りと便利。これは結構使うかも。

2013年10月9日:少しコードを綺麗にしました。



どうも、@chiroru_27 です。
またまたブックマークレットの話です。
今回はYouTubeをもっと便利にするブックマークレット。「YouTubeで開く」
自動ではアプリへ移動してくれないURLの時でも、これを使うだけですぐにアプリで開けます。

Youtubeで開く

機能、使い方

機能

  • SafariYouTubeの動画のページを開いている時に使えます。
  • 実行すると、その動画のビデオIDを取得してアプリ版YouTubeに飛ばします。

使い方


アプリ版YouTubeに飛ばないWEB版YouTubeの動画のページで実行。

コード

javascript:
(function() {
 function GetQueryParameters(parameterName) {
  if(window.location.search.length > 1) {
   var query = window.location.search.substring( 1 ).split( '&' );
   var result = new Object();
   for( var i = 0; i < query.length; i++ ) {
    var element = query[ i ].split( '=' );
    result[element[0]] = element[1];
   } return result[parameterName];
  } else return -1;
 }

 var YouTube = 'vnd.youtube://', VID = GetQueryParameters('v');
 if(VID != -1) location.href = YouTube + VID;
})()

仕組みは
vがパラメータ名で、その値がビデオIDのようなのでそれを抜き出して
URLスキームと合わせて飛ばすだけのシンプルなものです

必要なアプリ



それでは、最後まで読んでくれてありがとうございました!
ではまた次回。

修正:2013年10月9日

  • コードを少し修正しました
// 修正前
 if(GetQueryParameters('v') != -1) {
  var VID = GetQueryParameters('v');
  location.href = YouTube + VID;
 }

// 修正後
 var VID = GetQueryParameters('v');
 if(VID != -1) location.href = YouTube + VID;

少しはマシになったかな。なんであんな書き方したんだろう。