0

我不知道为什么这不起作用:

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 {
    }
});

有什么建议吗?比。

4

2 回答 2

4

您不必为此使用 jQuery,只需:

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

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

console.log(myurl, location.href);
于 2012-05-27T07:56:45.820 回答
1

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

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

<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>
于 2012-05-27T07:56:16.507 回答