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 回答