fullscreen.js 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. define(['jquery'], function($) {
  2. "use strict";
  3. var defer = $.Deferred();
  4. var pearFullScreen = {
  5. func : null,
  6. onFullchange : function(func) {
  7. this.func = func;
  8. var evts = ['fullscreenchange', 'webkitfullscreenchange', 'mozfullscreenchange', 'MSFullscreenChange'];
  9. for (var i = 0; i < evts.length && func; i++) {
  10. window.addEventListener(evts[i], this.func);
  11. }
  12. },
  13. fullScreen : function(dom) {
  14. var docElm = dom && document.querySelector(dom) || document.documentElement;
  15. if (docElm.requestFullscreen) {
  16. docElm.requestFullscreen();
  17. } else if (docElm.mozRequestFullScreen) {
  18. docElm.mozRequestFullScreen();
  19. } else if (docElm.webkitRequestFullScreen) {
  20. docElm.webkitRequestFullScreen();
  21. } else if (docElm.msRequestFullscreen) {
  22. docElm.msRequestFullscreen();
  23. } else {
  24. defer.reject("");
  25. }
  26. defer.resolve("返回值");
  27. return defer.promise();
  28. },
  29. fullClose : function() {
  30. if (this.isFullscreen()) {
  31. if (document.exitFullscreen) {
  32. document.exitFullscreen();
  33. } else if (document.mozCancelFullScreen) {
  34. document.mozCancelFullScreen();
  35. } else if (document.webkitCancelFullScreen) {
  36. document.webkitCancelFullScreen();
  37. } else if (document.msExitFullscreen) {
  38. document.msExitFullscreen();
  39. }
  40. }
  41. defer.resolve("返回值");
  42. return defer.promise();
  43. },
  44. isFullscreen : function() {
  45. return document.fullscreenElement ||
  46. document.msFullscreenElement ||
  47. document.mozFullScreenElement ||
  48. document.webkitFullscreenElement || false;
  49. },
  50. };
  51. return pearFullScreen;
  52. })