Javascript-执行pushState时是否应更新所有hrefs和src?

如果我要调用pushState但要保留所有相对链接,图像,样式表等,那么到目前为止,我会执行以下操作:

$('[href]').each(function() { 
    if (!/^#/.test(this.href)) this.href = this.href;
});
$('[src]').each(function() { this.src = this.src });

我的问题是:这可以跨浏览器工作吗?我需要做$(this).attr(‘href’)= this.href吗?

这有必要吗?还有另一种方法吗?这是最好的方法吗?而且它总是可以正常工作吗?

解决方法:

pushState更改当前文档的相对路径.

您可以中断或避免中断相对源,具体取决于您如何执行相对路径.

./*模式执行当前路径之外的相对路径,但是计划旧的/ *将始终从路径根开始,并且不受pushState更改的影响.

./this/would/break.jpg

/this/wont.jpg
上一篇:从浏览器跳转到前端框架的路由实现


下一篇:禁止浏览器后退