繁体   English   中英

在 android webview 应用程序中的页面上单击链接时,如何防止显示加载微调器?

[英]How to prevent showing loading spinner when a link is clicked on a page in android webview app?

我正在处理网站的页面加载微调器,它在桌面和移动浏览器中工作正常,但在 android 移动 webview 应用程序中加载网站时会出现问题。

当我在我的网站上单击 Facebook 链接时,它会在 android 移动 webview 应用程序中加载它在移动浏览器中打开 Facebook 网站,但是当我切换回 android webview 应用程序时,我发现上一页已加载,并且它也不断显示加载微调器,当我刷新时它会消失这一页。

我更喜欢 JavaScript/jQuery 解决方案。

html

<div class="loading-spinner-fixed">
     <div class="spinner"></div>
</div>

<a href="https://www.facebook.com/pagename" target="_blank">Facebook</a>

CSS

.loading-spinner-fixed {
    box-sizing: border-box;
    background-color: white;
    border-radius: 50%;
    position: fixed;
    left: 50%;
    top: 50%;
    width: 60px;
    height: 60px;
    margin: -30px 0 0 -30px;
    z-index: 99999999;
    box-shadow: 0 0 12px 0 rgba(0,0,0,.2);
}


.loading-spinner-fixed .spinner {
    position: absolute;
    left: 50%;
    top: 50%;
    display: table-cell;
    margin: -16px 0 0 -16px;
    border: 4px solid #f3f3f3;
    border-radius: 50%;
    border-top: 4px solid #00bbcc;
    width: 24px;
    height: 24px;
    animation: spin .5s linear infinite;
}

JavaScript

$(document).ready(function () {
    $('.loading-spinner-fixed').hide();
});

$(window).on('beforeunload', function () {
    $('.loading-spinner-fixed').show();
});

在您的活动中覆盖onResume()生命周期方法并添加这一行

if(mWebView != null){
   mWebView.load("javascript:$('.loading-spinner-fixed').hide();")
}

这将调用 hide 到您的.loading-spinner-fixed

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM