滑块更改后更新地址栏值

时间:2015-04-01 07:11:56

标签: javascript jquery

我有一个价格滑块,可用于过滤产品结果。它是here找到的离子范围滑块。

当用户完成拖动滑块后,会向数据库发送XMLHttp请求,并在不重新加载页面的情况下刷新产品。

此时我想更新网址以匹配网页内容。例如,如果用户访问以下页面:

mywebsite.com/a-product-category/

并将价格滑块设置为$10 - $40,我希望将网址更改为:

mywebsite.com/a-product-category/10-to-40

有没有一种简单的方法可以在jQuery或Javascript中执行此操作?我尝试了各种实现PushState的方法,但它并不适用于我。也许我做错了:

if (!this.dragging) {
    window.history.pushState({}, '', '/10-to-40');
}

非常感谢任何帮助。感谢。

修改

我已经创建了2个版本,其中1个是window.history.pushState({}, '', '/10-to-40');行,1个是没有。

没有pushState: (链接不再有效)

使用pushState: (链接不再有效)

如您所见,滑块适用于第一个示例,但不适用于第二个示例。这是我在第二页上得到的错误:

SecurityError:操作不安全。

这是指第982行,即pushState。

有没有理由不安全?感谢

编辑2:

这是因为在子域上工作。将pushState更改为完整的URL可以解决问题。

if (!this.dragging) {
    window.history.pushState({}, '', 'http://dev.mywebsite.com/a-product-category/10-to-40');
}

由于

0 个答案:

没有答案