html5 toggle,html - HTML5 FullScreen API toggle with JavaScript - Stack Overflow

I am trying to make a button that would toggle (on/off) HTML5 fullscreen on a certain website.

After reading plenty of documentation, it appears there still are some inconsistencies among how browsers treat certain properties for it.

I went for kind of "cross-browser" approach which does work in Firefox and Safari/MacOS, partially works in Safari/Windows and totally fails to work in Chrome and Opera.

Some castrated code snippets:

// class init

initialize: function() {

this.elmButtonFullscreen = $('fullscreen');

this.elmButtonFullscreen.on('click', this.onClickFullscreen.bindAsEventListener(this));

},

// helper methods

_launchFullScreen: function(element) {

if(element.requestFullScreen) { element.requestFullScreen(); }

else if(element.mozRequestFullScreen) { element.mozRequestFullScreen(); }

else if(element.webkitRequestFullScreen) { element.webkitRequestFullScreen(); }

},

_cancelFullScreen: function() {

if(document.cancelFullScreen) { document.cancelFullScreen(); }

else if(document.mozCancelFullScreen) { document.mozCancelFullScreen(); }

else if(document.webkitCancelFullScreen) { document.webkitCancelFullScreen(); }

},

_isFullScreen: function() {

fullScreen = document.fullscreenEnabled || document.mozFullscreenEnabled || document.webkitFullscreenEnabled ? true : false;

if(this.debug) console.log('Fullscreen enabled? ' + fullScreen);

return fullScreen;

},

// callbacks

onClickFullscreen: function(e) {

e.stop();

if(this._isFullScreen()) this._cancelFullScreen();

else this._launchFullScreen(document.documentElement);

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值