2013-06-26 31 views
0
if(document.URL!="location.php?img_url="+img_url){ 
     window.location.href = "location.php?img_url="+img_url; 
    } 

这会不断重新加载页面。我检查网址,看看它是否发生变化,但没有。比较文档时出现意外结果。网址

+2

我向你保证的JavaScript的'='操作是否正常工作! – naomik

+2

删除了荒谬问题标题和无关标签。 –

回答

3

!=总是正常工作。这是你谁工作错了!

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

事实上,它永远不会是"location.php?img_url="+img_url。它将始终是完整的网址,所以类似http://www.example.com/location.php?img_url="+img_url

+0

总是!正确的作品 – raam86

7

因为看什么document.URL是!

console.log(document.URL); 

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

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

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

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

尝试使用

window.location.pathname 

,而不是使用

document.URL 
+1

这不包括查询字符串。 –

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; 
} 
+0

刚编辑答案。我的意思是还包括完整的URL路径。我只知道'window.location'比'document.URL'更容易 – copilot0910

0

也许你只是忘了域名。

尝试这样的事:

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

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

+0

这不包括查询字符串。 –

+0

@疯狂火车感谢你 – raam86

+0

+1这应该工作。 –