我需要在页面开始加载时重定向页面(例如,页面的头部已经加载),一旦重定向,就要防止/停止页面内容和脚本的执行。如果我将此代码(window.location = "/other-page-url";)放置在打开HEAD标签后的第一行并将页面重定向到另一个页面,那么它会停止执行下一个脚本吗?我想确保,如果在重定向后的第二行有某些计数器脚本被调用,它不会执行。也许JavaScript有一些方法可以停止页面的加载/渲染?
我在Windows上的Chrome中进行了广泛测试,并从https://dev59.com/NXRC5IYBdhLWcg3wAcbU#24070373的讨论中做了笔记。为了阐述Joseph Silbur的答案:
一旦您将用户重定向到另一个页面,当前页面将立即停止执行。
head
标签内的JavaScript会在文档主体中任何脚本标签之前执行。虽然Chrome会请求标签内的
<head>
中使用 <meta>
标签,在任何 <script>
标签之前完成这个操作:<meta http-equiv="Refresh" content="0; url=http://www.example.com/">
一旦浏览器遇到该标签,它将重定向到example.com。
一旦您将用户重定向到另一个页面,当前页面将立即停止执行。
Location: ...
头部,在页面渲染之前请求重定向。 - Rob W