android webview 隐藏地址栏,javascript-从浏览器中删除地址栏(在Android上查看)

javascript-从浏览器中删除地址栏(在Android上查看)

有谁知道我该如何从Android浏览器中删除地址栏,以更好地查看我的Web应用程序并使它看起来更像本机应用程序?

11个解决方案

45 votes

您可以使用下一个代码

if(navigator.userAgent.match(/Android/i)){

window.scrollTo(0,1);

}

希望对您有帮助!

Carlos answered 2020-07-07T09:24:12Z

32 votes

这是NON-jQuery解决方案,可立即删除地址栏而无需滚动。 同样,当您旋转浏览器的方向时,它也可以工作。

function hideAddressBar(){

if(document.documentElement.scrollHeight

document.documentElement.style.height=(window.outerHeight/window.devicePixelRatio)+'px';

setTimeout(window.scrollTo(1,1),0);

}

window.addEventListener("load",function(){hideAddressBar();});

window.addEventListener("orientationchange",function(){hideAddressBar();});

它也可以在iPhone上使用,但是我无法测试。

Tim Eckel answered 2020-07-07T09:24:36Z

14 votes

如果已加载jQuery,则可以查看内容的高度是否大于视口高度。 如果不是,则可以使其达到该高度(或更低)。 我在Android模拟器中以WVGA800模式运行以下代码,然后在我的Samsung Galaxy Tab上运行它,在两种情况下,它都隐藏了地址栏。

$(document).ready(function() {

if (navigator.userAgent.match(/Android/i)) {

window.scrollTo(0,0); // reset in case prev not scrolled

var nPageH = $(document).height();

var nViewH = window.outerHeight;

if (nViewH > nPageH) {

nViewH -= 250;

$('BODY').css('height',nViewH + 'px');

}

window.scrollTo(0,1);

}

});

Volomike answered 2020-07-07T09:24:57Z

10 votes

参考Volomike的答案,我建议替换该行

nViewH -= 250;

nViewH = nViewH / window.devicePixelRatio;

它与我在HTC Magic(PixelRatio = 1)和Samsung Galaxy Tab 7“(PixelRatio = 1.5)上进行检查时完全一样。

Rafael Perelló answered 2020-07-07T09:25:25Z

1 votes

下面的那个每次都对我有用。

这个站点还有其他一些建议,但是可以在github:gist中找到这个废话,不用担心,它可以回答您的问题(为方便起见,粘贴在这里):

function hideAddressBar()

{

if(!window.location.hash)

{

if(document.height < window.outerHeight)

{

document.body.style.height = (window.outerHeight + 50) + 'px';

}

setTimeout( function(){ window.scrollTo(0, 1); }, 50 );

}

}

window.addEventListener("load", function(){ if(!window.pageYOffset){ hideAddressBar(); } } );

window.addEventListener("orientationchange", hideAddressBar );

据我所知,添加到页面上的额外高度(这给您造成了问题)和scrollTo()语句的组合使地址栏消失。

在同一站点上,隐藏地址栏的“最简单”解决方案是使用scrollTo()方法:

window.addEventListener("load", function() { window.scrollTo(0, 1); });

这将隐藏地址栏,直到用户滚动。

该站点将相同的方法放在超时函数中(没有说明理由,但声称没有它,代码将无法正常工作):

// When ready...

window.addEventListener("load",function() {

// Set a timeout...

setTimeout(function(){

// Hide the address bar!

window.scrollTo(0, 1);

}, 0);

});

Adam Huddleston answered 2020-07-07T09:26:07Z

1 votes

其中大多数问题是用户仍然可以向上滚动并查看地址栏。要制定永久解决方案,您还需要添加此解决方案。

//WHENEVER the user scrolls

$(window).scroll(function(){

//if you reach the top

if ($(window).scrollTop() == 0)

//scroll back down

{window.scrollTo(1,1)}

})

user1869558 answered 2020-07-07T09:26:27Z

1 votes

这适用于android(至少在现有的姜饼浏览器上):

此外,如果要禁用滚动,可以使用

setInterval(function(){window.scrollTo(1,0)},50);

ranjan_purbey answered 2020-07-07T09:26:52Z

0 votes

这是一个示例,可确保主体具有设备屏幕高度的最小高度,并且还隐藏滚动条。 它使用DOMSubtreeModified事件,但仅每400毫秒进行一次检查,以避免性能损失。

var page_size_check = null, q_body;

(q_body = $('#body')).bind('DOMSubtreeModified', function() {

if (page_size_check === null) {

return;

}

page_size_check = setTimeout(function() {

q_body.css('height', '');

if (q_body.height() < window.innerHeight) {

q_body.css('height', window.innerHeight + 'px');

}

if (!(window.pageYOffset > 1)) {

window.scrollTo(0, 1);

}

page_size_check = null;

}, 400);

});

在Android和iPhone上测试。

JussiR answered 2020-07-07T09:27:16Z

0 votes

我希望它也有用

window.addEventListener("load", function()

{

if(!window.pageYOffset)

{

hideAddressBar();

}

window.addEventListener("orientationchange", hideAddressBar);

});

Tunaki answered 2020-07-07T09:27:36Z

-1 votes

最后,我尝试一下。 它为我工作。

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_ebook);

//webview use to call own site

webview =(WebView)findViewById(R.id.webView1);

webview.setWebViewClient(new WebViewClient());

webview .getSettings().setJavaScriptEnabled(true);

webview .getSettings().setDomStorageEnabled(true);

webview.loadUrl("http://www.google.com");

}

您的整个main.xml(res / layout)看起来应该像这样:

android:id="@+id/webView1"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

/>

不要添加布局。

SahanS answered 2020-07-07T09:28:04Z

-2 votes

我发现,如果您添加要卸载的命令,则他会保留该页面,即正在移动的页面!希望它也能与您合作!

window.addEventListener("load", function() { window.scrollTo(0, 1); });

window.addEventListener("unload", function() { window.scrollTo(0, 1); });

使用带有Android的7英寸平板电脑,www.kupsoft.com访问我的网站并检查其行为页面,我在门户中使用此命令。

Junior Penascais answered 2020-07-07T09:28:29Z

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值