JS:history.pushState在函数中不起作用

时间:2013-03-26 04:41:45

标签: javascript jquery html5 pushstate

我正试图围绕history.pushState功能,如果我在控制台中使用它,但在页面上或jsfiddle中的函数中不会产生所需的结果,它会起作用。
/> JSFIDDLE LINK HERE!

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文档HERE,但无法在将history.pushState行手动粘贴到控制台之外的任何工作。

1 个答案:

答案 0 :(得分:0)

我尝试过它并且工作正常。由于某种原因,在JSFiddle上不起作用。除非在其他地方出现其他问题,否则我无法看到它无效的原因。