javascript - 我应该在执行 pushState 时更新所有 href 和 src 吗?

标签 javascript jquery html pushstate

如果我要调用 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

关于javascript - 我应该在执行 pushState 时更新所有 href 和 src 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10392317/

相关文章:

javascript - Rails 5、Turbolinks 5 JQuery 在页面重新加载时停止工作

javascript - 无法在javascript中实现打印预览?

JavaScript regexp - 字符串中是否有字母

javascript - 具有多个子项的 Accordion 菜单(面板)

jquery - 获取div中div的顺序

javascript - 如何让滚动条不可见

html - UL 显示 : block

javascript - Node JS 中事件的链接请求和数据

jquery - 使用 jquery 选择输入

jquery - float 文本 - 当列表项超过时,元素就会下行