js实现一个全屏和退出全屏的功能

妖狐艹你老母 2022-09-10 00:12 311阅读 0赞
  1. $(function(){
  2. //全屏
  3. function fullScreen(){
  4. var el = document.documentElement;
  5. var rfs = el.requestFullScreen || el.webkitRequestFullScreen || el.mozRequestFullScreen || el.msRequestFullScreen;
  6. //typeof rfs != "undefined" && rfs
  7. if (rfs) {
  8. rfs.call(el);
  9. }
  10. else if (typeof window.ActiveXObject !== "undefined") {
  11. //for IE,这里其实就是模拟了按下键盘的F11,使浏览器全屏
  12. var wscript = new ActiveXObject("WScript.Shell");
  13. if (wscript != null) {
  14. wscript.SendKeys("{F11}");
  15. }
  16. }
  17. localStorage.setItem('istoggleFullScreen',0)
  18. }
  19. //退出全屏
  20. function exitScreen(){
  21. var el = document;
  22. var cfs = el.cancelFullScreen || el.webkitCancelFullScreen || el.mozCancelFullScreen || el.exitFullScreen;
  23. //typeof cfs != "undefined" && cfs
  24. if (cfs) {
  25. cfs.call(el);
  26. }
  27. else if (typeof window.ActiveXObject !== "undefined") {
  28. //for IE,这里和fullScreen相同,模拟按下F11键退出全屏
  29. var wscript = new ActiveXObject("WScript.Shell");
  30. if (wscript != null) {
  31. wscript.SendKeys("{F11}");
  32. }
  33. }
  34. localStorage.setItem('istoggleFullScreen',1)
  35. }
  36. function checkFull() {
  37. //使用html5中的API判断是否全屏(返回当前全屏的元素)
  38. var FullEl = document.fullscreenElement ||
  39. document.msFullscreenElement ||
  40. document.mozFullScreenElement ||
  41. document.webkitFullscreenElement;
  42. //若是不支持Html5中的API,可以使用以最原始的判断方式,但需要将页面的滚动条去掉
  43. if (FullEl === null) {
  44. return isFullscreenForNoScroll();
  45. }
  46. return true;
  47. }
  48. /** * 支持无滚动条的页面以 Fullscreen api启动的全屏 或是 按f11启动的全屏 * 不支持有滚动条的页面 * @returns {boolean} */
  49. function isFullscreenForNoScroll(){
  50. var explorer = window.navigator.userAgent.toLowerCase();
  51. if(explorer.indexOf('chrome')>0){ //webkit
  52. if (document.body.scrollHeight === window.screen.height && document.body.scrollWidth === window.screen.width) {
  53. console.log("全屏");
  54. return true;
  55. } else {
  56. console.log("不全屏");
  57. return false;
  58. }
  59. }else{ //IE 9+ fireFox
  60. if (window.outerHeight === window.screen.height && window.outerWidth === window.screen.width) {
  61. console.log("全屏");
  62. return true;
  63. } else {
  64. console.log("不全屏");
  65. return false;
  66. }
  67. }
  68. }
  69. $("#toggleFullScreen").on("click",function(){
  70. if(!checkFull()){
  71. fullScreen();
  72. }else{
  73. exitScreen();
  74. }
  75. })
  76. })

发表评论

表情:
评论列表 (有 0 条评论,311人围观)

还没有评论,来说两句吧...

相关阅读