如何使用Javascript设置查询字符串

时间:2011-04-05 01:32:55

标签: javascript

有没有办法使用javascript设置查询字符串的值?

我的页面有一个过滤器列表,单击该列表后,它将更改右侧的页内结果窗格。

我正在尝试更新到url的查询字符串值,因此如果用户离开页面,然后单击“返回”按钮,它们将返回到最后一个过滤器选择集。

例如:
    着陆:foo.html
    点击1:foo.html?facets = bar
    点击2:foo.html?facets = bar | baz
    点击3:foo.html?facets = bar | baz | zap

这可能吗?

3 个答案:

答案 0 :(得分:6)

这是可能的,但它会刷新页面。

document.location = "?facets=bar";

如果您不关心浏览器支持,可以使用HTML5 history.pushState

答案 1 :(得分:5)

您可以使用Javascript更改哈希值(URL的#hash-part),但更改查询字符串意味着您必须重新加载页面。所以,不,你想做的事情是不可能的。

另一种方法是使用Javascript更改哈希值,然后检查页面加载时的哈希值以动态更改结果。您正在寻找类似jQuery Address的内容。

答案 2 :(得分:1)

[CmdletBinding()]
param(
    [Parameter(Mandatory = $true)]
    [ArgumentCompleter([System.Type]([SxBase.Completers.ServiceTypeCompleter]))]
    [string]$AppName
)