copy.js で YouTube の短縮リンクを取得

Youtube の或るページを Firebug で調べていたときに、link タグ内に youtu.be/abcdef というような短縮 URI が埋め込まれていることを発見しました。copy.js だけでこの短縮 URI を取得することが可能です。

js <<EOF
liberator.globalVariables.copy_templates = [
  { label: 'youtu.be', value: 'Get a tiny URI of YouTube.',
    custom: function() {
      var linkObj = content.document.getElementsByTagName("link").item(6);
      var ytTinyURI = linkObj.getAttribute("href");
      return ytTinyURI;
    }
  },
];
EOF

copy.js で YouTube のリンクを取得

現在閲覧している YouTube のページの簡潔なリンク、たとえば、 http://www.youtube.com/watch?v=O6jSDEMchJQ&feature=related ではなく、 http://www.youtube.com/watch?v=O6jSDEMchJQ という URI 文字列、を取得する copy.js の設定です。copy.js は、言うまでもなく、vimperator のプラグインのひとつです。

js <<EOF
liberator.globalVariables.copy_templates = [
  { label: 'youtube', value: 'Get a concise YouTube URI.',
    custom: function() {
      var ytURI = "";
      var videoId =
        content.document.getElementsByName("video_id").item(0).value;
      if ( videoId != "" ) {
        ytURI = "http://www.youtube.com/watch?v=" + videoId;
      }
      return ytURI;
    }
  },
];
EOF