了解 Window.location 可行的解决方案
Understanding a Window.location working solution
我是 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;
};
来源 - 。
我无法弄清楚其中的逻辑。为什么在 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;
};
我不确定 return 的期望 - 当 true 和 false 时,假设如果 URL 改变了 -> true 否则 -> false
我是 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;
};
来源 - 。 我无法弄清楚其中的逻辑。为什么在 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;
};
我不确定 return 的期望 - 当 true 和 false 时,假设如果 URL 改变了 -> true 否则 -> false