0

history.pushState 機能に頭を悩ませようとしています。コンソールで使用すると機能しますが、ページ上の関数や jsfiddle で目的の結果が得られません。

JSFIDDLEリンクはこちら!

HTML:

<a href="#1" id="#1">Link 1</a>
<a href="#2" id="#2">Link 2</a>
<a href="#3" id="#3">Link 3</a>
<a href="#4" id="#4">Link 4</a>
<a href="#5" id="#5">Link 5</a>
<a href="#6" id="#6">Link 6</a>
<a href="#7" id="#7">Link 8</a>

JS:

$('a').click(function (e) {
    var linkhref = $(this).attr("href");
    var base = document.location;
    var stateObj = { test: "page" };
//  alert(linkhref);     /*make sure href is link we want*/

    history.pushState(stateObj, 'New URL: '+linkhref, base+linkhref);
    e.preventDefault();
});

より単純な history.pushState(stateObj, 'Test', linkhref); も試しました。同じ結果はありません。

ここに Mozilla のドキュメントをコピーしようとしましたが、コンソールにhistory.pushState行を手動で貼り付ける以外に何も動作しません。

4

1 に答える 1

0

私はそれを試してみましたが、うまくいきました。ただし、何らかの理由で JSFiddle では動作しません。他のどこかに問題がない限り、機能しない理由はわかりません。

于 2013-03-26T05:08:27.010 に答える