我可以在执行脚本以将用户重定向到另一个页面的那一刻停止解析所有其他代码吗?



我正在尝试停止解析所有其他脚本。重定向用户在加载时被识别的条件。不过,我仍然看到很多样式表和js被解析。有没有办法杀死所有其他解析并继续重定向?

<script data-cfasync="false">
function MyFunc(){
var x = -1; //For example
if (x===-1){
document.location = "myurl.tld";
//I want to kill all other parsing or loading here and proceed with redirect
}
}
window.onload = MyFunc();
</script>

你可以调用window.stop()

window.stop() 停止当前浏览上下文中的进一步资源加载,相当于浏览器中的停止按钮。

请注意,将函数附加到load事件仅在窗口完全加载运行。如果要尝试立即重定向(以便window.stop实际上尽快停止进一步处理),请立即致电MyFunc

function MyFunc(){
var x = -1; //For example
if (x===-1){
window.stop();
document.location = "myurl.tld";
}
}
MyFunc();

或者,如果必须这样做,请等待DOMContentLoaded,这将加载 DOM,但可能没有加载所有脚本、图像和其他资源(load事件等待):

window.addEventListener('DOMContentLoaded', MyFunc);

最新更新