Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 检测浏览器是否已加载其他页面_Javascript - Fatal编程技术网

Javascript 检测浏览器是否已加载其他页面

Javascript 检测浏览器是否已加载其他页面,javascript,Javascript,我正在建立一些JS安装在人们的网站上。我正在尝试检测浏览器是否偏离我安装的脚本所在的页面。在卸载事件之前很容易听到,但如果在用户单击某个链接之后加载了脚本会怎么样 活动顺序为: 浏览器加载已安装“我的脚本”的页面 我的脚本开始加载 用户点击B页的链接 浏览器开始加载页面B 我的脚本已加载到页面A← 如何检测浏览器位置正在更改 在这种特定情况下,您无法检测到这一点。从A页导航的行为将停止加载脚本,甚至在B页加载之前 规范的相关部分详细说明了当要求浏览器导航时会发生什么(在您的示例中,单击了指向B

我正在建立一些JS安装在人们的网站上。我正在尝试检测浏览器是否偏离我安装的脚本所在的页面。在卸载事件之前很容易听到
,但如果在用户单击某个链接之后加载了脚本会怎么样

活动顺序为:

  • 浏览器加载已安装“我的脚本”的页面
  • 我的脚本开始加载
  • 用户点击B页的链接
  • 浏览器开始加载页面B
  • 我的脚本已加载到页面A← 如何检测浏览器位置正在更改

    • 在这种特定情况下,您无法检测到这一点。从A页导航的行为将停止加载脚本,甚至在B页加载之前

      规范的相关部分详细说明了当要求浏览器导航时会发生什么(在您的示例中,单击了指向B页的链接)。第11步说:

      中止browsingContext的活动文档


      要明确的是,任何仍在进行的活动文档的获取或解析都将被丢弃。

      在这种特定情况下,您无法检测到这一点。从A页导航的行为将停止加载脚本,甚至在B页加载之前

      规范的相关部分详细说明了当要求浏览器导航时会发生什么(在您的示例中,单击了指向B页的链接)。第11步说:

      中止browsingContext的活动文档


      请明确,任何仍在进行的活动文档的获取或分析都将被丢弃。

      如果在单击链接之前脚本已完全加载,则仍然有效。@Teemu OPs脚本在单击链接时尚未加载-浏览器无法完成加载。我怀疑链接是否可单击,在加载内容之前。。?至少当一个脚本放在head部分(没有延迟或异步)时,
      sendBeacon
      会起作用。我在阅读Q时,就像第二和第五个要点提到的另一个JS文件中一样——在加载外部脚本之前,链接是绝对可以点击的。如果在单击链接之前脚本已完全加载,则仍然可以工作。@Teemu OPs脚本在单击链接时尚未加载-浏览器无法完成加载。我怀疑在加载内容之前链接是否可以单击。。?至少当一个脚本放在head部分(没有延迟或异步)时,
      sendBeacon
      会起作用。我在阅读Q时,就像第2和第5个要点所提到的,脚本在另一个JS文件中一样-在加载外部脚本之前,链接是绝对可以单击的。如何“安装”脚本?也许我们可以找到解决方法。我能想到的第一件/最快的事情是在插入大数据块之前,添加一个小的
      片段,侦听
      unload | beforeunload
      事件<代码>
代码片段在浏览器处理后立即执行。如何“安装”脚本?也许我们可以找到解决方法。我能想到的第一件/最快的事情是在插入大数据块之前,添加一个小的
片段,侦听
unload | beforeunload
事件<代码>代码片段在浏览器处理后立即执行。