删除URL哈希字符串中的前几个字符

时间:2013-11-12 00:42:07

标签: javascript hash

我正在尝试弄清楚如何删除网址字符串的某个部分,如:

if (window.location.hash == '#super-super-product') { 
    change.window.location.hash.to.this: #product  // pseudo code, obviously
}

所以,要删除“超级超级”,这是前12个字符,并保留其余部分, 无论发生什么事。

以下尝试不会产生任何变化:

if (/^#checkout-counter-./.test(window.location.hash)){ // this works perfectly
    window.location.hash.substring(0, 11); // this does nothing
    window.location.hash.substr(1, 12);  // nothing
    window.location.hash.slice(0, 11);  // still nothing
}

感谢。

2 个答案:

答案 0 :(得分:3)

调用子字符串或任何其他类似的方法只会评估函数并返回它而不会产生任何影响。您需要将结果分配给窗口的哈希值。

window.location.hash = window.location.hash.substring(0, 11);

答案 1 :(得分:2)

您需要重新分配它。否则结果就会被丢弃,因为它没有分配到任何有意义的地方。

window.location.hash = window.location.hash.substring(0, 11);