Javascript 重定向页面并防止页面的其余部分加载和脚本执行

Javascript 重定向页面并防止页面的其余部分加载和脚本执行,javascript,redirect,browser,dom-events,Javascript,Redirect,Browser,Dom Events,我需要在页面开始加载时重定向页面(例如,加载页面的页眉部分),一旦重定向,就防止/停止加载页面内容的其余部分和执行脚本的其余部分 如果我在打开HEAD标记后将此代码(window.location=“/other page url””)放在第一行,并将页面重定向到另一行,它会停止执行下一个脚本吗? 我想确定的是,如果在第二行调用了一些计数器脚本,在重定向之后,它将不会执行 可能是JavaScript有某种停止页面加载/呈现的方法吗?在执行任何JavaScript之前,可以在任何标记之前使用中的标

我需要在页面开始加载时重定向页面(例如,加载页面的页眉部分),一旦重定向,就防止/停止加载页面内容的其余部分和执行脚本的其余部分

如果我在打开HEAD标记后将此代码(window.location=“/other page url””)放在第一行,并将页面重定向到另一行,它会停止执行下一个脚本吗? 我想确定的是,如果在第二行调用了一些计数器脚本,在重定向之后,它将不会执行


可能是JavaScript有某种停止页面加载/呈现的方法吗?

在执行任何JavaScript之前,可以在任何
标记之前使用
中的
标记执行此操作:

<meta http-equiv="Refresh" content="0; url=http://www.example.com/">


这将在遇到标记时立即将浏览器重定向到example.com。

一旦您将用户重定向到另一个页面,当前页面将立即停止执行。

我在Windows上的Chrome上对此进行了广泛测试,并在上的讨论中做了记录。阐述约瑟夫·西尔伯的回答:


将用户重定向到其他页面后,当前 页面将立即停止执行

head
标记中的JavaScript在文档主体中的任何脚本标记之前执行。尽管Chrome在
主体
标记中请求
脚本
标记,但这些脚本不会执行。执行的唯一代码是
head
标记中的JavaScript

同样值得注意的是,Chrome会在重定向页面之前触发
DOMContentLoaded
事件。这并不重要,除非你有什么特别听那个事件


因此,是的,
window.location=“/other page url”
有效,只要它是
head
标记中的唯一代码。

我建议发送
位置:…
header,而不是在客户端启动重定向,在页面呈现之前请求重定向。这是否意味着用户不会注意到页面本身的任何更改,地址栏中的URL更改除外?我的意思是,如果计算机或互联网连接速度慢,他们会看到页面的呈现吗?@mra214-正确。用户将看不到页面上呈现的任何内容。我遇到了相同的问题,并且在window.location=“/new_url”之后添加了一些跟踪到console.log,这表明脚本执行在重定向后不会停止。我在chrome上,在OSX上,没有在其他浏览器上测试过,但至少它证明了这种行为在所有浏览器上都不一致。我发现这并不完全正确。如果我在window.location之后发出警报,它仍然会被触发,因此我假设在页面停止执行和重定向之前会有一个小的延迟。这是一个错误的答案。如果您在回调中重定向,代码仍将在主函数中执行,并且只有在执行之后才会发生重定向。