Egret--设置全屏,控制浏览器全屏

 

1, 手机浏览器打开的项目的时候,浏览器的虚拟按键/标题栏, 使得即便设置全屏也没有变成全屏(好像JS 中有方法向浏览器请求全屏)

2, 加载资源, 关闭后卸载, 再次进入游戏依然很快。不过登陆游戏的时候,有可能无法进入,因为浏览器有缓存

3, egret的回调函数比较随意。 带参数的回调函数, 调用可不传参数, 不带参数的回调函数, 调用的时候可以传参。

4, try{}  catch(err){}   用于捕捉错误, 但是1/0 不报错, 原因:JS 中有infinity这个类型 

5, window.onbeforeunload 这个函数, 里面的代码倒是都会执行, 但是经常弹不出那个窗, 时有时无.

6,TypeScript控制浏览器全屏

注:document内会报msRequestFullscreen不是documentElement的属性,documentElementg as any即可

public fullScreen() {

    //document.getElementById("fullScreen").style.display = "none";

    //document.getElementById("exitScreen").style.display = "block";//error

    let el = document.documentElement as any;

    let rfs = el.requestFullScreen || el.webkitRequestFullScreen || el.mozRequestFullScreen || el.msRequestFullscreen;

    if (typeof rfs != "undefined" && rfs) {

      rfs.call(el);

    }; 
    return; 
  } 
  //退出全屏

  public exitScreen() {

    //document.getElementById("fullScreen").style.display = "block";

    //document.getElementById("exitScreen").style.display = "none";

    let cfs = document as any;

    if (cfs.exitFullscreen) {

      cfs.exitFullscreen(); 
    } 
    else if (cfs.webkitCancelFullScreen) { 
      cfs.webkitCancelFullScreen(); 
    } 
    else { 
      cfs.msExitFullscreen(); 
    } 
  }

或者也可以利用一个boolean的开关控制是否为全屏和恢复到原来大小

posted @ 2019-04-09 21:19  icon_sunny  阅读(1589)  评论(0编辑  收藏  举报