3

如果我要调用 apushState但我想保留所有相关链接、图像、样式表等,到目前为止我会这样做:

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

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

这是必要的吗?还有另一种方法可以做到这一点吗?这是最好的方法吗?它总是会起作用吗?

4

1 回答 1

3

pushState改变当前文档的相对路径。

您可以根据您执行相对路径的方式来破坏或避免破坏相对源。

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

./this/would/break.jpg

/this/wont.jpg
于 2012-05-03T13:41:35.230 回答