Y[ ]
by
noromanba
2013-03-26 [2013/03/26 06:54:50]
Youtube browser size expander
@@ -15,14 +15,13 @@
}
var id, pls;
- location.search.slice(1).split('&').forEach(function (pair) {
- kv = pair.split('=');
-
- (kv[0] === 'v') ? id = kv[1] :
- (kv[0] === 'list') ? pls = '?' + kv[0] + '=' + kv[1] :
+ location.search.slice(1).split(/(?:=|&|\?)/).
+ forEach(function (val, idx, ary) { // TODO skipping reduce
+ (val === 'v') ? id = ary[idx + 1] :
+ (val === 'list') ? pls = '?' + val + '=' + ary[idx + 1] :
void 0;
});
var origin = location.origin || location.protocol + '//' + host;
location.href = origin + '/embed/' + id + (pls || '');
-})();
+})();
/*
* @title Y[ ]
* @description Youtube browser size expander
* @include http://www.youtube.com/watch*
* @include https://www.youtube.com/watch*
* @author noromanba http://let.hatelabo.jp/noromanba/let/gYC-y7OPjOGGCg
* @license MIT License http://nrm.mit-license.org/2013
* @require
*/
(function () {
var host = location.hostname;
if (!/^www\.youtube\.com/.test(host) || /^\/embed\//.test(location.pathname)) {
return;
}
var id, pls;
location.search.slice(1).split(/(?:=|&|\?)/).
forEach(function (val, idx, ary) { // TODO skipping reduce
(val === 'v') ? id = ary[idx + 1] :
(val === 'list') ? pls = '?' + val + '=' + ary[idx + 1] :
void 0;
});
var origin = location.origin || location.protocol + '//' + host;
location.href = origin + '/embed/' + id + (pls || '');
})();
- Permalink
- このページへの個別リンクです。
- RAW
- 書かれたコードへの直接のリンクです。
- Packed
- 文字列が圧縮された書かれたコードへのリンクです。
- Userscript
- Greasemonkey 等で利用する場合の .user.js へのリンクです。
- Loader
- @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
- Metadata
- コード中にコメントで @xxx と書かれたメタデータの JSON です。