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 に答える