msc-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.
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.
<script
type="module"
src="https://your-domain/wc-msc-any-pip.js">
</script>
Put <msc-any-pip /> into HTML document. It will have different functions and looks with attribute mutation.
<msc-any-pip>
<div class="element-i-like-to-have-pip">
...
...
..
</div>
</msc-any-pip>
JavaScript Instantiation
<msc-any-pip /> could also use JavaScript to create DOM element. Here comes some examples.
<script type="module">
import { MscAynPip } from 'https://your-domain/wc-msc-any-pip.js';
const template = document.querySelector('.my-template');
const nodeA = document.createElement('msc-any-pip');
document.body.appendChild(nodeA);
nodeA.appendChild(template.content.cloneNode(true));
const nodeB = new MscAnyPip();
document.body.appendChild(nodeB);
nodeB.appendChild(template.content.cloneNode(true));
</script>
Style Customization
Developers could apply styles to decorate <msc-any-pip />'s looking.
<style>
msc-any-pip {
--msc-any-pip-piping-text: 'Playing in Picture-in-Picture.';
--msc-any-pip-piping-color: #39e75f;
--msc-any-pip-piping-font-size: 16px;
}
</style>
Events
Event Signature | Description |
---|
msc-any-pip-piping | Fired when user press confirm. |
msc-any-pip-pip-end | Fired when Picture-in-Picture end. |
Reference