将存储在变量中的url检查到当前url

时间:2012-05-27 07:46:43

标签: jquery url location href attr

我无法找出为什么这不起作用:

var myurl = "http://domain.com";
var currenturl = $(location).attr('href');
if (myurl == currenturl) {
...

myurl和currenturl都是相同的,但是if语句中的脚本没有被执行。

编辑:

$(document).ready(function(){
var myurl = "http://domain.com";
var currenturl = window.location.href;
//alert(currenturl);
    if (myurl === currenturl) {
        alert('should see this');
    } else {
    }
});

解决方案:

$(document).ready(function(){
var myurl = "http://domain.com/"; // see the slash at the end
    if (myurl == location.href) {
        alert('that ss the same page');
    } else {
    }
});

有什么建议吗? Thans。

2 个答案:

答案 0 :(得分:4)

您不必使用jQuery,只需:

if (myurl == location.href) {
    // the same
}

如果这不起作用,请通过调试它们的值来确保它们都是相同的:

console.log(myurl, location.href);

答案 1 :(得分:1)

无论如何这都行不通,因为你不能像那样比较JavaScript中的对象。 $(位置)几乎肯定是未定义的事实将是一个问题。请参阅:Object comparison in JavaScript

如果您使用的是本地文件,则应将“file://”添加到URL

<html>
<script src="https://www.google.com/jsapi"></script>
<script>
google.load('jquery', '1.7.2');
</script>

<script>

$(document).ready(function(){
var myurl = "file://somedir/test.html";
var currenturl = window.location.href;
//alert(currenturl);
    if (myurl === currenturl) {
        alert('should see this');
    } else {
        alert ('see other thing');
    }
});


</script>
<body>
hi
</body>
</html>