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行を手動で貼り付ける以外に何も動作しません。