我需要在页面开始加载时重定向页面(例如,页面的头部被加载),一旦页面被重定向,就会阻止/停止页面内容的其余部分加载和脚本的其余部分执行。
如果我将这段代码(window.location = "/other- page -url";)放在打开HEAD标记后的第一行,并将页面重定向到另一个标记,是否会停止执行下一步脚本?我想确定的是,如果在重定向后的第二行调用了一些计数器脚本,它将不会执行。
是不是JavaScript有什么方法可以停止页面加载/渲染?
发布于 2012-01-06 15:04:29
将用户重定向到其他页面后,当前页面将立即停止执行。
发布于 2012-01-06 15:04:15
您可以在执行任何Javascript之前使用<head>
中的<meta>
标记在任何<script>
标记之前执行此操作:
<meta http-equiv="Refresh" content="0; url=http://www.example.com/">
这将使浏览器在遇到标记时立即重定向到example.com。
发布于 2019-04-18 19:04:02
我在Windows上的Chrome上进行了广泛的测试,并从https://stackoverflow.com/a/24070373/5749914的讨论中做了笔记。来阐述约瑟夫·西尔伯的回答:
将用户重定向到其他页面后,当前页面将立即停止执行。
head
标记内的JavaScript在文档体中的任何脚本标记之前执行。尽管Chrome会在body
标签内请求script
标签,但这些脚本不会被执行。执行的唯一代码是head
标记中的JavaScript。
同样值得注意的是,Chrome在重定向页面之前会触发DOMContentLoaded
事件。除非您有专门监听该事件的内容,否则这并不重要。
所以,是的,只要window.location = "/other-page-url"
是head
标记中唯一的代码,它就可以工作。
https://stackoverflow.com/questions/8759768
复制