ios_fullscreen.js 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. function buildIOSMeta(){
  2. var aMetaTags = [
  3. { name : "viewport",
  4. content : 'width=device-width, height=device-height, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no'},
  5. { name: 'apple-mobile-web-app-capable',
  6. content: 'yes'},
  7. { name: 'apple-mobile-web-app-status-bar-style',
  8. content: 'black'}
  9. ];
  10. for( var i = 0; i < aMetaTags.length; i++ ){
  11. var oNewMeta = document.createElement('meta');
  12. oNewMeta.name = aMetaTags[i].name;
  13. oNewMeta.content = aMetaTags[i].content;
  14. var oOldMeta = window.document.head.querySelector('meta[name="'+oNewMeta.name+'"]');
  15. if (oOldMeta) {
  16. oOldMeta.parentNode.removeChild(oOldMeta);
  17. }
  18. window.document.head.appendChild(oNewMeta);
  19. }
  20. };
  21. function hideIOSFullscreenPanel(){
  22. jQuery(".xxx-ios-fullscreen-message").css("display","none");
  23. jQuery(".xxx-ios-fullscreen-scroll").css("display","none");
  24. jQuery(".xxx-game-iframe-full").removeClass("xxx-game-iframe-iphone-se");
  25. };
  26. function buildIOSFullscreenPanel(){
  27. var html = '';
  28. html += '<div class="xxx-ios-fullscreen-message">';
  29. html += '<div class="xxx-ios-fullscreen-swipe">';
  30. html += '</div>';
  31. html += '</div>';
  32. html += '<div class="xxx-ios-fullscreen-scroll">';
  33. html += '</div>';
  34. jQuery("body").append(html);
  35. };
  36. function showIOSFullscreenPanel(){
  37. jQuery(".xxx-ios-fullscreen-message").css("display","block");
  38. jQuery(".xxx-ios-fullscreen-scroll").css("display","block");
  39. };
  40. function __iosResize(){
  41. window.scrollTo(0, 0);
  42. if( platform.product === "iPhone" ){
  43. switch(window.devicePixelRatio){
  44. case 2:{
  45. switch(window.innerWidth){
  46. case 568:{
  47. //console.log("landscape");
  48. //console.log("iPhone 5/5s/5c/se");
  49. if( window.innerHeight === 320 ){
  50. //console.log("fullscreen");
  51. //this.hideIOSFullscreenPanel();
  52. }else{
  53. jQuery(".xxx-game-iframe-full").addClass("xxx-game-iframe-iphone-se");
  54. //console.log("windowed");
  55. // this.showIOSFullscreenPanel();
  56. }
  57. }break;
  58. case 667:{
  59. //console.log("landscape");
  60. //console.log("iPhone 6/6s/7/8");
  61. if( window.innerHeight === 375 ){
  62. // console.log("fullscreen");
  63. hideIOSFullscreenPanel();
  64. }else{
  65. //console.log("windowed");
  66. showIOSFullscreenPanel();
  67. }
  68. }break;
  69. default:{
  70. hideIOSFullscreenPanel();
  71. }
  72. }
  73. }break;
  74. case 3:{
  75. switch(window.innerWidth){
  76. case 736:{
  77. //console.log("landscape");
  78. //console.log("iPhone 6/6s/7/8 plus");
  79. if( window.innerHeight === 414 ){
  80. // console.log("fullscreen");
  81. hideIOSFullscreenPanel();
  82. }else{
  83. showIOSFullscreenPanel();
  84. }
  85. }break;
  86. // iphone X
  87. case 724:{
  88. // console.log("landscape");
  89. // console.log("iPhone X");
  90. if( window.innerHeight === 375 ){
  91. hideIOSFullscreenPanel();
  92. }else{
  93. showIOSFullscreenPanel();
  94. }
  95. }break;
  96. default:{
  97. hideIOSFullscreenPanel();
  98. }
  99. }
  100. }break;
  101. default:{
  102. hideIOSFullscreenPanel();
  103. }
  104. }
  105. }
  106. };
  107. function iosResize(){
  108. __iosResize();
  109. setTimeout(function(){
  110. __iosResize();
  111. },500);
  112. };
  113. $(document).ready(function () {
  114. if(platform && platform.product === "iPhone" && platform.name === "Safari"){
  115. buildIOSFullscreenPanel();
  116. buildIOSMeta();
  117. }
  118. });
  119. jQuery(window).resize(function() {
  120. if(platform && platform.product === "iPhone" && platform.name === "Safari"){
  121. iosResize();
  122. }
  123. });