Any PiP
Imaging what if we can let anything Picture-in-Picture (not only <video />) ?! Here comes <msc-any-pip /> to let it dream comes true.
<msc-any-pip /> apply Document Picture-in-Picture API to given elements have Picture-in-Picture feature.
Check the following examples and to press the 「PiP」 button (right-top corner) to see what can <msc-any-pip /> do ?
<msc-ez-video /> as child
<iframe /> as child
Image wall as child
Basic Usage
<msc-any-pip /> is a web component. All we need to do is put the required script into your HTML document. Then follow <msc-any-pip />'s html structure and everything will be all set.
Required Script
Structure
Put <msc-any-pip /> into HTML document. It will have different functions and looks with attribute mutation.
Otherwise, developers could also choose remoteconfig to fetch config for <msc-any-pip />.
JavaScript Instantiation
<msc-any-pip /> could also use JavaScript to create DOM element. Here comes some examples.
Style Customization
Developers could apply styles to decorate <msc-any-pip />'s looking.
Otherwise delevelopers could also add className - align-container-size to make <msc-any-pip />'s size same as container's size.(default is inline-size: 100% only)
Attributes
<msc-any-pip /> supports some attributes to let it become more convenience & useful.
winwidth
Set Picture-in-Picture window width. Default is <msc-any-pip />'s clientWidth. (Picture-in-Picture's min window width is 300)
winheight
Set Picture-in-Picture window height. Default is <msc-any-pip />'s clientHeight. (Picture-in-Picture's min window height is 300)
disallowreturntoopener
Hides the "back to tab" button in the Picture-in-Picture window if true. It is false by default (not set).
preferinitialwindowplacement
Open the Picture-in-Picture window in its default position and size if true. It is false by default (not set).
Properties
| Property Name | Type | Description |
|---|---|---|
winwidth
|
Number | Getter / Setter for Picture-in-Picture window width. Default is <msc-any-pip />'s clientWidth. |
winheight
|
Number | Getter / Setter for Picture-in-Picture window height. Default is <msc-any-pip />'s clientHeight. |
disallowreturntoopener
|
Boolean | Getter / Setter for disallowreturntoopener. Hides the "back to tab" button in the Picture-in-Picture window if true. It is false by default. |
preferinitialwindowplacement
|
Boolean | Getter / Setter for preferinitialwindowplacement. Open the Picture-in-Picture window in its default position and size if true. It is false by default. |
Mathod
| Mathod Signature | Description |
|---|---|
requestPictureInPicture
|
Request <msc-any-pip /> turn in Document Picture-in-Picture mode. |
Events
| Event Signature | Description |
|---|---|
msc-any-pip-piping
|
Fired when Picture-in-Picture start. |
msc-any-pip-pip-end
|
Fired when Picture-in-Picture end. |