2

簡単に言えば、私は Web アプリに取り組んでおり、その中で AJAX を使用しています。リンクをクリックしたときのデフォルトのアクションを無効にし、リンクにハッシュ値を添付してから、URL から「#」を削除しようとしています。

私が抱えている問題は、それに応じてハッシュ値が添付されているにもかかわらず、部分文字列メソッドが「#」を抽出していないことです。その後の文字を抽出します.....

これが私のコードです。PS、そこにコメントを残したので、これでどこに行こうとしているのかがわからないのでわかりません....私のロジックまたは設定が間違っている可能性があります....

$(document).ready(function(){

    //app vars
    var mainHash = "index";
    var menuBtn = $('.leftButton');
    //~~~~~~load the index page at first go.
    loadPage();

    //~~~~~~~~~~~~~~~~~~~~~~~~~~~menu show/hide
    menuBtn.click( function(){
        $('#menu').toggleClass();   
    });


    //Menu items on click , disable link default actions.
    $('#menu a').click( hijackLinks );


    //~~~~~~~~~~~~~~~~~~~~~~~~~~~functions for mobile index load AND hijacking app links to AJAX links.
    function loadPage(url){
        if( url == undefined){
            $('#contentHere').load('index.html #content', hijackLinks);
                window.location.hash = mainHash;
        } else {
            $('#contentHere').load(url + '#content', hijackLinks ); 
        }
    }


    function hijackLinks(e){
        var url = e.target.href;
        e.preventDefault();
        loadPage(e.target.href);
        window.location.hash = $(this).attr("href").substring(1);
    }
});

私が望んでいるのは、URLから「#」を削除することです。私は何を間違っていますか、私は何を見ていない/理解していませんか?

substring/substrなどを試してみましたが、どちらも同じことを行い、部分文字列のパラメーターに挿入する数値に関係なく、「#」以外のすべてを削除します笑....

ありがとうございます。

4

1 に答える 1