PinP
@@ -1,9 +1,24 @@
/*
- * @title picture-in-picture
- * @description my bookmarklet
+ * @title PinP
+ * @description toggle the video Picture-in-Picture mode
* @include http://*
- * @license MIT License
- * @require
+ * @include https://*
+ * @contributor hogashi http://let.hatelabo.jp/hogashi/let/hJmexZGA67IB
+ * @license MIT License https://opensource.org/licenses/MIT
+ * @javascript_url
*/
-Array.from(document.querySelectorAll('video')).find(v => v.src).requestPictureInPicture()
+// e.g.
+// https://vimeo.com/44039048
+{
+ 'use strict';
+ // c.f.
+ // https://wicg.github.io/picture-in-picture/
+ // https://github.com/WICG/picture-in-picture
+ document.pictureInPictureElement ?
+ document.exitPictureInPicture() :
+ [...document.body.querySelectorAll('video')].find(v => {
+ v.src && v.requestPictureInPicture();
+ });
+}
+
/*
* @title PinP
* @description toggle the video Picture-in-Picture mode
* @include http://*
* @include https://*
* @contributor hogashi http://let.hatelabo.jp/hogashi/let/hJmexZGA67IB
* @license MIT License https://opensource.org/licenses/MIT
* @javascript_url
*/
// e.g.
// https://vimeo.com/44039048
{
'use strict';
// c.f.
// https://wicg.github.io/picture-in-picture/
// https://github.com/WICG/picture-in-picture
document.pictureInPictureElement ?
document.exitPictureInPicture() :
[...document.body.querySelectorAll('video')].find(v => {
v.src && v.requestPictureInPicture();
});
}
- Permalink
- このページへの個別リンクです。
- RAW
- 書かれたコードへの直接のリンクです。
- Packed
- 文字列が圧縮された書かれたコードへのリンクです。
- Userscript
- Greasemonkey 等で利用する場合の .user.js へのリンクです。
- Loader
- @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
- Metadata
- コード中にコメントで @xxx と書かれたメタデータの JSON です。