我想运行一个pushState
,它工作得很好,但当我通过iframe元素加载页面时,它拒绝工作。这就是我的代码的样子
$('a[href]').click(function){
newHref = $(this).attr('href');
history.pushState('', '', newHref);
})
但它不工作,请谁有一个想法如何实现这一点?
使用history.pushState()
会改变iframe源页面的url。要更改地址栏中的主url你必须将其定位到父url,所以使用
window.parent.history.pushState();
你只需要保持函数调用包装在click事件括号…
$('a[href]').click(function(e){
e.preventDefault();
newHref = $(this).attr('href');
history.pushState('', '', newHref);
});