- Notifications
You must be signed in to change notification settings - Fork0
Simple to use Fullscreen API with Promise for cross-browser.
License
NotificationsYou must be signed in to change notification settings
shisama/toggle-fullscreen
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Promise basedFullscreen API for cross-browser.
asyncfunction(){constelement=document.querySelector('some element');awaittoggleFullscreen(element);awaitotherFunc();}
npm install --save toggle-fullscreen
Requests Fullscreen API.Request to exit fullscreen mode if target is already fullscreen.
Param | Type | Description |
---|---|---|
target | Element | target element to change fullscreen |
Usage:
vartarget=document.querySelector('#target');toggleFullscreen(target);
For jQuery:
$('#target').on('click',event=>{toggleFullscreen(event.target);});
Add a listener for when the browser switches in and out of fullscreen.
Param | Type | Description |
---|---|---|
callback | function | function to be called when the browser switches in and out of fullscreen |
Usage:
fullscreenChange(function(){console.log('switch fullscreen');});
Check whether fullscreen is active.Usage:
if(isFullscreen()){console.log('fullscreen is active');}else{console.log('fullscreen is not active');}
importtoggleFullscreen,{fullscreenChange,isFullscreen,}from'toggle-fullscreen';onChangeFullScreen=()=>{constelement=document.getElementById('something');toggleFullscreen(element).then(()=>{returnfullscreenChange(()=>{constisFullScreen=isFullscreen();if(isFullScreen){// any process in fullscreen mode// e.g.document.addEventListener('keydown', keydownFunction);}else{// any process in non-fullscreen mode// e.g.document.removeEventListener('keydown', keydownFunction);}});}).then(()=>{console.log('successed!');}).catch(()=>{console.log('failed!');});};
Or use Promise.all()
importtoggleFullscreen,{fullscreenChange,isFullscreen,}from'toggle-fullscreen';onChangeFullScreen=()=>{// target elementconstelement=document.getElementById('something');// callback function when fullscreen change is detected.constcallback=()=>{constisFullScreen=isFullscreen();this.setState({isFullScreen:isFullScreen});if(isFullScreen){document.addEventListener('keydown',this.keydownEvent);element.style.width='70%';}else{document.removeEventListener('keydown',this.keydownEvent);element.style.width='100%';}};// execute toggle-fullscreen and add listener when fullscreen change detected asynchronouslyPromise.all([toggleFullscreen(element),fullscreenChange(callback)]);};
For async/await:
importtoggleFullscreen,{fullscreenChange,isFullscreen,}from'toggle-fullscreen';onChangeFullScreen=async()=>{constelement=document.getElementById('something');awaittoggleFullscreen(element);awaitfullscreenChange(()=>{constisFullScreen=isFullscreen();if(isFullScreen){// any process in fullscreen mode// e.g.document.addEventListener('keydown', keydownFunction);}else{// any process in non-fullscreen mode// e.g.document.removeEventListener('keydown', keydownFunction);}});console.log('successed!');};
For callback (use if something is wrong with Promise) :
consttoggleFullscreen=require('toggle-fullscreen');onChangeFullScreen=function(){constelement=document.getElementById('something');toggleFullscreen(element,function(isFullScreen){if(isFullScreen){// any process in fullscreen mode// e.g.document.addEventListener('keydown', this.keydownEvent);}else{// any process in non-fullscreen mode// e.g.document.removeEventListener('keydown', this.keydownEvent);}});};
- Chrome@latest
- Firefox@latest
- Safari@latest
- MSEdge@latest
- IE11
This project is licensed under the terms of theMIT license
About
Simple to use Fullscreen API with Promise for cross-browser.
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
No packages published
Uh oh!
There was an error while loading.Please reload this page.