gpt4 book ai didi

javascript - 将识别字符串添加到用户代理字符串中以仅在 Android 应用程序中隐藏 div

转载 作者:行者123 更新时间:2023-11-28 07:17:27 27 4
gpt4 key购买 nike

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

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

网页的html+js代码:

<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>

Android Webview 代码:

private void startWebView(String url) {
webView.getSettings().setUserAgentString(webView.getSettings().getUserAgentStri‌​ng() + "; myapp");
webView.getSettings().setJavaScriptEnabled(true);
webView.setWebViewClient(new WebViewClient() {

//On error, open local file
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
webView.loadUrl("file:///android_asset/www/myerrorpage.html");
}

@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}

@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
view.loadUrl("javascript:document.getElementById('downloadapp').style.display = 'none'; void(0);");
}

@Override
public void onPageFinished(WebView view, String url) {
view.loadUrl("javascript:document.getElementById('downloadapp').style.display = 'none'; void(0);");
}

});

webView.loadUrl(url);

}

最佳答案

您在设置用户代理时犯了错误。替换这个:

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

有了这个

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

关于javascript - 将识别字符串添加到用户代理字符串中以仅在 Android 应用程序中隐藏 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30697126/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com