javascript - 了解 Window.location 工作解决方案
问题描述
我是 javascript 和编程新手,我正在尝试理解要在我的项目中实现的这段代码
function url_redirect(url){
var X = setTimeout(function(){
window.location.replace(url);
return true;
},300);
if( window.location = url ){
clearTimeout(X);
return true;
} else {
if( window.location.href = url ){
clearTimeout(X);
return true;
}else{
clearTimeout(X);
window.location.replace(url);
return true;
}
}
return false;
};
来源 - https://stackoverflow.com/a/53706698。我无法弄清楚这其中的逻辑。为什么在 if 语句中使用单个“=”?if(window.location = url) 是什么意思?
解决方案
首先检查条件,然后执行(如果需要)更改:
function url_redirect(url){
if( window.location.href == url ){
return false;
}
// if you need wait
setTimeout(function(){
window.location.replace(url);
}, 300);
// if you don't need to wait
window.location.replace(url);
return true;
};
我不确定返回的期望 - 当为真时为假,假设如果 URL 更改 -> true 否则 -> false
推荐阅读
- c - 删除链表内的节点
- spss - SPSS - 根据特定条件过滤列
- c# - UWP - 如何使按钮居中?
- node.js - 无法通过 npm 安装 zerorpc
- .htaccess - Nginx 和/或 htaccess
- angular - 如何在 Angular 10 的 HTML 表格中显示 JSON
- powershell - 图书馆的便携式支票
- c++ - 是否可以将多个名称放在一个字符串中?
- swiftui - self.myString = string 和 self._myString = State(initialValue: string) 之间的区别?
- javascript - 如何在没有 nuxt 构建错误的情况下成功运行 npm run build