javascript WIX -如果URL更改,则重新加载页面

vsnjm48y  于 2023-02-18  发布在  Java
关注(0)|答案(1)|浏览(161)

我想强制Wix在URL发生变化时刷新。Wix通过某种 AJAX 在内部加载页面,但结果是一些跟踪cookie无法正确捕获导航变化。如果URL发生变化,刷新页面可以解决这个问题,但我需要自动化它。
或者,在发生此URL更改时重新加载跟踪代码。
问候
亨利

rvpgvaaj

rvpgvaaj1#

要在Wix中强制页面刷新,只要URL改变,你可以使用JavaScript的window.location.reload()方法,这个方法会用当前的URL重新加载页面,包括任何查询参数或哈希片段。
您可以向popstate事件添加一个事件侦听器,该事件在URL更改时触发。在事件侦听器函数中,调用reload()方法以强制刷新。
下面是一个可以添加到Wix站点的示例代码片段:

// add an event listener to the popstate event
window.addEventListener('popstate', function() {
  // reload the page when the URL changes
  window.location.reload();
});

或者,您可以在URL更改时重新加载跟踪代码,而不是重新加载整个页面。这可以通过将跟踪代码添加到单独的JavaScript文件中来实现,然后使用import()函数在URL更改时动态加载脚本文件。以下是一个示例:

// add an event listener to the popstate event
window.addEventListener('popstate', function() {
  // dynamically load the tracking code script file
  import('/path/to/tracking-code.js')
    .then(function() {
      // code loaded successfully, do something
    })
    .catch(function(error) {
      console.error('Error loading tracking code:', error);
    });
});

在本例中,import()函数用于加载包含跟踪代码的脚本文件。如果脚本文件加载成功,则调用then()方法;如果出现错误,则调用catch()方法。代码加载成功后,可以对其执行某些操作,例如调用函数以启动跟踪。

相关问题