比较document.URL时出现意外结果

时间:2013-06-26 15:15:38

标签: javascript

if(document.URL!="location.php?img_url="+img_url){
        window.location.href = "location.php?img_url="+img_url;
    }

这会不断重新加载页面。我检查网址是否有变化,但不是。

6 个答案:

答案 0 :(得分:7)

因为看document.URL是什么!

console.log(document.URL);

返回完整的网址。 http://example.com/location.php?img_url=1234

您正在寻找完全匹配,而不是部分匹配。

一种解决方案是使用indexOf()

if(document.URL.toLowerCase().indexOf("location.php?img_url="+img_url)===-1){

答案 1 :(得分:3)

!=始终正常。是你工作错了!

在这种情况下,问题是您希望document.URL成为您要设置window.location.href的字符串。它可能不是。

确实,它永远不会是"location.php?img_url="+img_url。它始终是完整的网址,例如http://www.example.com/location.php?img_url="+img_url

答案 2 :(得分:2)

尝试

if(window.location != "http://www.urlhere.com/location.php?img_url="+img_url){
    window.location.href = "http://www.urlhere.com/location.php?img_url="+img_url;
}

答案 3 :(得分:1)

使用document.location.pathname + document.location.search代替document.URL

答案 4 :(得分:0)

尝试使用

window.location.pathname

而不是使用

document.URL

答案 5 :(得分:0)

也许你刚刚忘记了域名。

尝试这样的事情:

if(document.URL!="http://localhost/location.php?img_url="+img_url){
    window.location.href = "http://localhost/location.php?img_url="+img_url;
}