Javascript 如何存储用户交互并在加载所有脚本后重播它们?

Javascript 如何存储用户交互并在加载所有脚本后重播它们?,javascript,reactjs,dom-events,Javascript,Reactjs,Dom Events,我正在使用React开发一个站点,并使用Webpack构建它,当然使用代码拆分。 为了让我们的页面更快-我们使用SSR服务它们,而不需要客户端补水。 这意味着我们不在页面加载点加载js, 但是,当我们在页面上检测到用户交互时——我们希望加载js(分块),以使某些功能(例如:聊天)在ssr上不起作用——开始工作。 附上代码以澄清我的意思: document.addEventListener('mousedown', userInteractionEvent, { once: true });

我正在使用React开发一个站点,并使用Webpack构建它,当然使用代码拆分。 为了让我们的页面更快-我们使用SSR服务它们,而不需要客户端补水。 这意味着我们不在页面加载点加载js, 但是,当我们在页面上检测到用户交互时——我们希望加载js(分块),以使某些功能(例如:聊天)在ssr上不起作用——开始工作。 附上代码以澄清我的意思:

document.addEventListener('mousedown', userInteractionEvent, {
  once: true
});
document.addEventListener('mousemove', userInteractionEvent, {
  once: true
});
document.addEventListener('touchstart', userInteractionEvent, {
  once: true
});
document.addEventListener('scroll', userInteractionEvent, {
  once: true
});
document.addEventListener('keydown', userInteractionEvent, {
  once: true
});
在这些行中,我们检测到任何用户与页面的交互

const userInteractionEvent = (event) => {
  if (window.jsFiles && !isLoading) {
    isLoading = true;
    for (var i = 0; i < window.jsFiles.length; i++) {
      importFiles(window.jsFiles[i]);
    }
  }
}
constUserInteractionEvent=(事件)=>{
if(window.jsFiles&&!isload){
isLoading=true;
for(var i=0;i
正如您所看到的,
window.jsFiles
保存了所需块的数组。我也知道什么时候加载了所有文件,但是用户交互很松散(例如:导致导入文件的单击事件)。 React不会对该交互作出响应

我的问题是: 有没有一种简单的方法来恢复这些事件并在加载所有js时重放它们?我知道它们何时全部加载-但不知道如何恢复和重放用户交互


如果有任何帮助,我们都会很高兴的!

请澄清您的问题。这两个想法相互矛盾。您不加载JS,但您想使用JS-这毫无意义。这意味着我们根本不加载JS。但是,当我们在页面上检测到用户交互时,我们想加载JS-那么您希望使用什么来“加载JS”?