0

私がやりたいことは、jQuery で動作するサイトで戻るボタンと進むボタンを有効にすることです。私は今、作業中のコードを持っていますが、それが複雑すぎると確信しています.コードを簡単にし、機能を追加して先に進むための助けが必要です. コードは次のとおりです。

var recenturl;
var currenturl;

setInterval(function(){
    currenturl = /[^/]*$/.exec(window.location.pathname)[0];

    if(currenturl == 'menu_item1' || currenturl == 'menu_item2' || currenturl == 'menu_item3' || currenturl == 'menu_item4'){
        if(currenturl != recenturl && recenturl != ''){
            console.log(currenturl+" "+recenturl);
            showFrame(currenturl);
            if (typeof(window.history.pushState) == "function"){
                window.history.pushState(null, currenturl, currenturl);
            }
            window.history.back();
            recenturl = currenturl; 
        }
    }      
}, 100);


var xurl = /[^/]*$/.exec(window.location.pathname)[0];

if(xurl =='menu_item1' || xurl == 'menu_item2' || xurl == 'menu_item3' || xurl == 'menu_item4'){
    showFrame(xurl);

if (typeof(window.history.pushState) == "function"){
    window.history.pushState(null, xurl, xurl);
} 
else {
    window.location.hash = "#!" + xurl;
}

}
else {
    if (xurl != " "){
        var defaulturl = "/";       
        showFrame(defaulturl);

        if (typeof(window.history.pushState) == "function"){
            window.history.pushState(null, defaulturl, defaulturl);
        } 
        else {
            window.location.hash = "#!" + defaulturl;
        }

    }
}
4

1 に答える 1

0

同じ目的でjquery戻るボタンクエリプラグインを使用することをお勧めします

例:

// Serializing a params string using the built-in jQuery.param method.
// myStr is set to "a=1&b=2&c=true&d=hello+world"
var myStr = $.param({ a:1, b:2, c:true, d:"hello world" });

// Deserialize the params string into an object.
// myObj is set to { a:"1", b:"2", c:"true", d:"hello world" }
var myObj = $.deparam( myStr );

// Deserialize the params string into an object, coercing values.
// myObj is set to { a:1, b:2, c:true, d:"hello world" }
var myObj = $.deparam( myStr, true );

// Deserialize jQuery 1.4-style params strings.
// myObj is set to { a:[1,2], b:{ c:[3], d:4 } }
var myObj = $.deparam( "a[]=1&a[]=2&b[c][]=3&b[d]=4", true );
于 2012-10-15T17:56:31.647 に答える