我创建了一个受信任的 Web 活动。为了隐藏一些 html 内容,我修改了“startUrl”:“/?utm_source=trusted-web-activity”。我检查此查询参数并将其保存在 sessionStorage 中(我不使用 localStorage,因为它与所有选项卡共享)。基于此参数的存在,我显示或隐藏一些 div:
if(sessionStorage.getItem('activity')) {
document.getElementById( 'mobile_navigation' ).style.display = 'block'; }
一切都按预期工作。唯一的问题是,如果我将应用程序保持在后台一段时间并打开它,页面会重新加载,并且所有规则都不再起作用。我什至尝试填充一个字段并从这里获取它。
const queryString = window.location.search;
const urlParams = new URLSearchParams(queryString);
trustewdweb = urlParams.get('utm_source');
let fields = document.getElementById("fields");
if (trustewdweb === 'trusted-web-activity'){
fields.value = trustewdweb;}
if(!sessionStorage.getItem('activity')) {
populateStorage();
} else {
populateField();
}
function populateStorage() {
sessionStorage.setItem('activity', document.getElementById('fields').value);
populateField();
}
function populateField() {
var currentQuery = sessionStorage.getItem('activity');
document.getElementById('fields').value = currentQuery ;
}
if(sessionStorage.getItem('activity')) {
我怎样才能避免这种行为?它与缓存有关吗?