在开始导航后,网页是否继续运行JavaScript?

时间:2018-02-05 15:25:03

标签: javascript

我相信我正在观察以下浏览器行为:

  1. 该页面启动导航(通过<meta http-equiv='refresh'>
  2. 导航会进行一系列重定向
  3. 在重定向完成之前,原始页面上的计时器会触发, 启动另一个导航(通过window.location.href
  4. 第二个导航取消第一个
  5. 但是,我在Google和StackOverflow上的搜索找不到任何描述类似行为的人。如果我的理论是正确的,任何人都可以告诉我(或者最好指向一个权威来源):即使导航后页面仍继续运行JavaScript,只要该导航尚未解析为登陆页面吗?

1 个答案:

答案 0 :(得分:0)

将内容属性添加到阻止javascript https://www.w3.org/TR/WCAG20-TECHS/H76.html

<meta http-equiv="refresh" content="0;URL='http://redirect.com'" /> 

这应该停止进一步的脚本执行。此外,超时应设置为0,我相信脚本将在超时期限之前继续执行。

查看

window.beforeunload 

window.onunload

调试方法。您需要在JS代码中使用一种方法来中断计时器。

一般情况下,重定向应尽可能在服务器端完成,使用元刷新失败WCAG的指导方针。 https://www.w3schools.com/tags/att_meta_http_equiv.asp