将标识字符串添加到用户代理字符串中以仅在Android应用中隐藏div

时间:2015-06-07 18:38:54

标签: javascript android android-webview user-agent getelementbyid

我有一个名为sender的div,我想向使用智能手机浏览器访问我网站的用户显示,而不是使用我的Android应用。所以我需要为已经使用我的应用程序的用户隐藏该div。

首先我使用了downloadapponPageStarted,但访问者在它消失之前一直看到div几秒钟。然后有人给了我建议,在应用程序的用户代理字符串中添加一个识别字符串(例如:“我的应用程序”),结果如下。不幸的是,div仍然不会在我的应用程序中从一开始就消失,所以我在这里缺少什么?

网页的html + js代码:

onPageFinished

代码Android Webview:

<head>
<script>
    if (navigator.userAgent.endsWith("myapp")) {
        document.getElementById("downloadapp").style.display = "none";
    } else { 
        document.getElementById("downloadapp").style.display = "inherit";
    }
</script>
</head>

<body>
<div id="downloadapp">    
    <a href="market://details?id=example"><img src="/example.png"></a>
</div>
</body>

1 个答案:

答案 0 :(得分:0)

设置用户代理时出错了。替换这个:

webView.getSettings().setUserAgentString(webView.getSettings().getUserAgentStri‌​ng() + "; myapp");

有了这个

webView.getSettings().setUserAgentString("myapp");