如何在应用内浏览器或 android 网页视图中隐藏 div
How to hide div in in-app browser or android webview
我在 Hide div in a Custom Tab opened from a Trusted Web Activity 中问过一个问题
让我再解释一下。
我的 twa 网站是 https://www.monsoonmalabar.com/
在上面的站点中,有一个指向外部站点的 link,即 https://keralapsc.monsoonmalabar.com/ when clicking this link in twa app, this link opens in in-app browser. In that in-app browser(website: https://keralapsc.monsoonmalabar.com) 左侧有一个按钮浮动 link https://play.google.com/store/apps/details?id=com.monsoonmalabar.app
.
我想在用户使用 twa(应用内浏览器)时隐藏 link(按钮)。根据您在 Whosebug 站点中的建议,我将外部 link 添加为 https://keralapsc.monsoonmalabar.com/?hideDiv=true
并在外部站点中添加了代码
<script>
var url_string = window.location.href; //window.location.href
var url = new URL(url_string);
if(url.searchParams.get("hideDiv")) {
document.write('<div></div>');
} else {
document.write('<div id="play_button"><a class="btn_openinapp" data-attr="btn_openinapp" href="https://play.google.com/store/apps/details?id=com.monsoonmalabar.app" style="left: 0px;"><i class="fab fa-google-play"></i></a></div>');
}
</script>
现在发生的事情是在 twa 第一次访问时(hideDive=true)按钮消失了。但是,当我通过转到该外部站点按钮中的另一个页面继续浏览外部站点时,该按钮再次显示。也许我没有正确理解你。你能用代码解释一下吗?我是编码新手。我的 twa 应用是 https://play.google.com/store/apps/details?id=com.monsoonmalabar.app
下面是标记为link的外部截图
解决方案是将 hideDiv
信息保存到 sessionStorage 中,以便您在导航到其他页面时可以从那里加载信息。
代码看起来像这样:
<script>
// Set `hideDiv` to `true` on sessionStorage when we receive the `hideDiv` parameter.
const url = new URL(window.location.href);
if(url.searchParams.get('hideDiv')) {
sessionStorage.setItem('hideDiv', true);
}
// sessionStorage is persisted across page loads, but cleared if the tab is closed and
// a new navigation session starts. We check if it's been set to `true` in this session.
if(sessionStorage.getItem('hideDiv')) {
document.write('<div></div>');
} else {
document.write('<div id="play_button"><a class="btn_openinapp" data-attr="btn_openinapp" href="https://play.google.com/store/apps/details?id=com.monsoonmalabar.app" style="left: 0px;"><i class="fab fa-google-play"></i></a></div>');
}
</script>
我在 Hide div in a Custom Tab opened from a Trusted Web Activity 中问过一个问题 让我再解释一下。
我的 twa 网站是 https://www.monsoonmalabar.com/
在上面的站点中,有一个指向外部站点的 link,即 https://keralapsc.monsoonmalabar.com/ when clicking this link in twa app, this link opens in in-app browser. In that in-app browser(website: https://keralapsc.monsoonmalabar.com) 左侧有一个按钮浮动 link https://play.google.com/store/apps/details?id=com.monsoonmalabar.app
.
我想在用户使用 twa(应用内浏览器)时隐藏 link(按钮)。根据您在 Whosebug 站点中的建议,我将外部 link 添加为 https://keralapsc.monsoonmalabar.com/?hideDiv=true
并在外部站点中添加了代码
<script>
var url_string = window.location.href; //window.location.href
var url = new URL(url_string);
if(url.searchParams.get("hideDiv")) {
document.write('<div></div>');
} else {
document.write('<div id="play_button"><a class="btn_openinapp" data-attr="btn_openinapp" href="https://play.google.com/store/apps/details?id=com.monsoonmalabar.app" style="left: 0px;"><i class="fab fa-google-play"></i></a></div>');
}
</script>
现在发生的事情是在 twa 第一次访问时(hideDive=true)按钮消失了。但是,当我通过转到该外部站点按钮中的另一个页面继续浏览外部站点时,该按钮再次显示。也许我没有正确理解你。你能用代码解释一下吗?我是编码新手。我的 twa 应用是 https://play.google.com/store/apps/details?id=com.monsoonmalabar.app
下面是标记为link的外部截图
解决方案是将 hideDiv
信息保存到 sessionStorage 中,以便您在导航到其他页面时可以从那里加载信息。
代码看起来像这样:
<script>
// Set `hideDiv` to `true` on sessionStorage when we receive the `hideDiv` parameter.
const url = new URL(window.location.href);
if(url.searchParams.get('hideDiv')) {
sessionStorage.setItem('hideDiv', true);
}
// sessionStorage is persisted across page loads, but cleared if the tab is closed and
// a new navigation session starts. We check if it's been set to `true` in this session.
if(sessionStorage.getItem('hideDiv')) {
document.write('<div></div>');
} else {
document.write('<div id="play_button"><a class="btn_openinapp" data-attr="btn_openinapp" href="https://play.google.com/store/apps/details?id=com.monsoonmalabar.app" style="left: 0px;"><i class="fab fa-google-play"></i></a></div>');
}
</script>