5

MVC3 ビューに次のコードがあります。

 $(document).ready(function () {
    if (window.location.hash) {
        var manager= new Manager();

        manager.doSomeStuff(window.location.hash);
    }
});

興味深いのは、URL にハッシュ タグがない場合、またはハッシュ タグしかない場合の例です。

http://localhost:1223/Index/AboutUs

http://localhost:1223/Index/AboutUs#

window.location.hashが空で、関数が実行されていない場合。しかし、ハッシュタグに何らかの値がある場合:

http://localhost:1223/Index/AboutUs#categoryId=5&manufacturerId=8

の値window.location.hash#categoryId=5&manufacturerId=8

タグが値に含まれている理由と、タグ#の後に値がない場合にが空になる理由を教えてください。#window.location.hash

4

4 に答える 4

9

説明することは何もありません。それが機能する方法です。

詳細はこちら:http ://www.w3schools.com/jsref/prop_loc_hash.asp

定義と使用法

The hash property returns the anchor portion of a URL, including the hash sign (#).
于 2012-10-30T16:11:48.933 に答える
8
var hash = window.location.hash.substring(1);

これにより、ハッシュタグである文字列の最初の文字が省略されます。

于 2014-12-10T09:45:25.557 に答える
8

ハッシュ名を変更するだけで、必要に応じて変更できます。

//Your old hash name caught in a variable
var nameHash = location.hash;

//Your new hash name without "#"
var newHashName = nameHash.replace("#","");
于 2012-10-30T16:25:23.630 に答える
1

置換できます#が、この方法では競合が発生し、javascript では機能しません。

ここに window.location 参照リンクがあります。

さまざまな使用例を次に示します。

$(document).ready(function () {
    var urlHash = window.location.hash;
    var sampleURL = '#categoryId=5&manufacturerId=8';

    if ( urlHash.length > 1 ) {
       //do stuff
    }else{
       //if value is empty, do stuff
    }

    if ( urlHash === sampleURL ) {
       commonResponse();
    }

    $('a').click(function() {
       var target = $(this).attr('href');

       if (target === sampleURL ) {
          commonResponse();
       }    
    });

    function commonResponse() {
       //alert('ok');
    }
});
于 2012-10-30T16:40:03.710 に答える