0

我创建了一个受信任的 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')) {

我怎样才能避免这种行为?它与缓存有关吗?

4

0 回答 0