iphone浏览器safari显示视图错误

  • Creator 版本:1.9.1

  • 目标平台: Web

  • 手机型号 :iphone6s

  • 手机浏览器 :safari

开始是全屏视图 如果用户点击地址栏附近会出现浏览器的地址栏 会直接盖在视图上 视图上挂的widget组件没有作用,但是我自己调用 浏览器的window.scrollTo(0, 1) 可以激活一次适配,但是适配后的状态是地址栏把整个视图往下压,感觉是底层获取当前浏览器可视视图大小出现问题, 有人遇到过这类问题么 如何解决

明显可以看到下方的一块导航栏沉入浏览器外面

@panda

如果我在浏览器里面在导航栏出现的事情下 使用Js代码跳转到游戏 也是导航栏把整个视图下沉 感觉是Widget的BUG 检测视图大小的时候不对

别沉呦 官方有人能否解答下

:hushed:

引擎组的人可以解答下不呢,整个适配问题可有点严重了…

:evergreen_tree:

请问怎么做网页全屏无地址栏?微信打开可以吗?

是艺术请不要打码,是色Q情请不要传播

差评!! 打马赛克

此问题已经解决 使用Safari浏览器的特性 使用 window.innerHeight == document.documentElement.clientHeight 条件判断浏览器总高度和显示高度是否一致来判定是否全屏 如果不是全屏则打开一个盖在上层的DIV HTML标签 上面提示用户向上滑动显示全屏

/******************
* Safari浏览器适配器
* ************** */
private safariAdapter(){
let safariMask = document.getElementsByClassName(‘safariMask’)[0]; //获取屏蔽层的div

    function listenCallBack() {
        //判断浏览器可视区域和全部区域高度是否相等 
        if(window.innerHeight == document.documentElement.clientHeight){ //相等则已经全屏
            safariMask.setAttribute('style', 'display: none'); //关闭屏蔽层
        } else { //不相等则不是全屏
            safariMask.setAttribute('style', 'display: block'); //打开屏蔽层
        }
    }

    listenCallBack();
    
    window.onresize = listenCallBack; //设置监听
}

希望给后来人以帮助

2赞

此方法确实是一个办法,有没有办法实现,所有内容始终在可视范围内展示呢?