ana*_*sia 17 javascript css mobile jquery google-chrome
我正在开发一个网络应用程序.大多数应用都禁用滚动,但是一个全屏面板需要可滚动.
问题:
如果用户位于可滚动的应用程序部分中,并向下滚动,则地址栏将消失.如果在地址栏消失后,用户通过单击固定位置菜单栏上的X决定退出该面板,则地址栏永远不会被触发(因为向上滚动不会发生),因此用户陷入滚动状态-disabled address-bar-less state.
我的问题:
是否可以强制触发地址栏以在Google Chrome中显示?
链接!
JSBin输出
JSBin代码
顺便说一句
简单地设置$(window).scrollTop(0)不会这样做.
使用开发工具进行模拟不起作用.您需要在Chrome应用中的移动设备中打开它.
谢谢!
示例如下:
不允许滚动,地址栏显示
)
滚动允许,地址栏显示

用户滚动,地址栏隐藏

返回滚动禁用div,隐藏地址栏

一种解决方法是将div用作正文内容的可滚动容器。这样,主体不可滚动,但是当滚动此内部div时,内部div和Chrome不会自动隐藏地址栏:
<body style="margin:0;padding:0;width:100%;height:100%">
<div style="position:absolute;width:100%;height:100%;overflow:scroll">
Content
</div>
</body>
Run Code Online (Sandbox Code Playgroud)
滚动条可见:http : //jsbin.com/zibewepiwo
滚动条自动隐藏:http : //jsbin.com/yeyapijulo
已在Android 4.4.2(Samsung Galaxy Tab 3)中的Chrome Beta 44.0.2403.63和Chrome 43.0.2357.93中进行测试。
编辑 v2:一种可能有效的方法是使用“全屏 API”并检测用户每次滚动(使用 jQuery 方法) - 然后告诉浏览器每次退出全屏模式以保留地址栏。请记住,这尚未经过测试,所以请告诉我您是否对这种方法感到幸运......
$(window).scroll(function(){
document.webkitExitFullscreen();
document.exitFullscreen();
});
Run Code Online (Sandbox Code Playgroud)
编辑:从移动 Chrome 应用程序的常见问题解答页面中读取,它表明滚动地址栏时会自动禁用,尽管它没有指定任何禁用此功能的方法。这进一步表明这是不可能的。
虽然这可能不是您问题的答案,但我相信值得一提的是,出于特定的安全原因(通常与网络钓鱼有关),许多浏览器会忽略手动操纵浏览器工作或显示方式的尝试。
因此,在桌面版本上禁用了操作地址栏的功能,尽管我还没有找到来源来识别移动 Chrome 上的此功能,但我相信该功能可能是相同的。
https://bugzilla.mozilla.org/show_bug.cgi?id=337344
| 归档时间: |
|
| 查看次数: |
13325 次 |
| 最近记录: |