Javascript:如何将变量附加到url?

Javascript:如何将变量附加到url?,javascript,Javascript,如何在不导航到URL的情况下使用javascript将变量附加到URL 谢谢您可以修改。其他任何东西都会导致导航。我不确定,但这是怎么回事 document.url + myVar + 'myString'; 虽然Javascript不是我的语言:p要将变量附加到哈希(as),可以在纯Javascript中执行以下操作: window.location.hash = 'varA=some_value;varB=some_value'; 这将添加#varA=some_值;varB=URL中的某

如何在不导航到URL的情况下使用javascript将变量附加到URL


谢谢

您可以修改。其他任何东西都会导致导航。

我不确定,但这是怎么回事

document.url + myVar + 'myString';

虽然Javascript不是我的语言:p

要将变量附加到哈希(as),可以在纯Javascript中执行以下操作:

window.location.hash = 'varA=some_value;varB=some_value';
这将添加
#varA=some_值;varB=URL中的某个值。除非散列值等于文档中的锚名称或元素id,否则它不会刷新页面

然后,要检查是否存在哈希值,只需执行以下操作:

var i, variables = window.location.hash.split(';');

if (variables.length > 0) {
    // Variables present in hash
    for (i = 0; i < variables.length; i++) {
       keyValuePair = variables.split('=');
       // keyValuePair[0] would be the key (variable name)
       // keyValuePair[1] would be the value
    }
}
else {
    // No variables in the hash
}
vari,variables=window.location.hash.split(“;”);
如果(variables.length>0){
//散列中存在的变量
对于(i=0;i
您可能还想查看以下有关不同浏览器中哈希部分的问题的堆栈溢出帖子:


您希望通过此实现什么?如果不导航到它,则URL将不是表示当前资源的URL,因此与任何旧字符串没有区别。在这种情况下,只需使用普通的JS字符串连接功能。嗯,我想将该字符串存储在url中,因此,当我单击页面中的任何其他链接时,该参数始终添加到原始链接中。修改
。哈希值应会导致浏览器跳转(如果愿意,请导航)到相应的文档位置(如果已定义)。@Tomalak:因此,如果锚未定义,浏览器将显示为未导航到任何位置,对吗?@Piskvor:是的,它甚至不会闪烁。这是一种经过尝试和测试的将数据附加到URL的方法。许多网络应用程序都能做到这一点。“Gmail就是一个例子。@Daniel:嗯……我不太明白它有什么好处。”。你能举一个有用的例子吗?@Tomalak:一个例子:因为散列存储在书签中,所以这是一种在AJAX web应用程序中保存位置的技术。如果Gmail在URL中附加了一个查询字符串而不是散列,那么每当你点击某个内容时,就会导致页面刷新。。。Gmail可能不是一个很好的例子,但在某些应用程序中它是非常有用的。我确信一定有一个
encodeURIComponent()
/
decodeURIComponent()
调用在某个地方使它可靠地工作。