nico<video>[ ]
by
noromanba
2014-08-25 [2014/08/25 12:01:14]
play raw video w/ fit to window
/*
* @title nico<video>[ ]
* @description play raw video w/ scale to window size
* @include http://sp.nicovideo.jp/watch/*
* @license MIT License http://opensource.org/licenses/MIT
*/
// require
// http://let.hatelabo.jp/noromanba/let/hJmegZnrvMd1
(function () {
if (!/^sp\.nicovideo\.jp\/watch\//.test(location.hostname + location.pathname)) return;
// TODO direct get video url
// e.g. http://sp.nicovideo.jp/watch/sm18670670
// http://smile-cln38.nicovideo.jp/smile?m=18670670.46768low
window.jQuery('#jsWatchThisPage').click(); // XXX indepandent jQuery
var video = document.querySelector('#video[src]');
if (!video || !video.src) return;
var body = document.body;
// c.f. http://jsperf.com/innerhtml-vs-removechild/157
while (body.firstChild) { // TBD range
body.removeChild(body.firstChild);
}
// c.f. http://let.hatelabo.jp/noromanba/let/gYC-x6_17M6-Kw
Array.prototype.slice.call(document.styleSheets).forEach(function (css) {
css.disabled = true;
});
body.style.backgroundColor = 'rgb(0, 0, 0)';
video.style = '';
setTimeout(function () { // XXX lookup size inject script
video.style.width = '';
video.style.height = '';
}, 3000);
video.style.minWidth = '100%';
video.style.minHeight = '100%';
video.controls = true;
video.autoplay = true;
body.appendChild(video); // restore
})();
// DBG
// <video controls="" autoplay="" name="media">
// <source src="http://smile-cln38.nicovideo.jp/smile?m=18670670.46768low" type="video/mp4">
// </video>
- Permalink
- このページへの個別リンクです。
- RAW
- 書かれたコードへの直接のリンクです。
- Packed
- 文字列が圧縮された書かれたコードへのリンクです。
- Userscript
- Greasemonkey 等で利用する場合の .user.js へのリンクです。
- Loader
- @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
- Metadata
- コード中にコメントで @xxx と書かれたメタデータの JSON です。