PinP Fork

    @@ -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 です。