2

我试图弄清楚如何删除 URL 字符串的某个部分,如:

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

因此,删除“super-super-”,即前 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
}

谢谢。

4

2 回答 2

3

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

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

于 2013-11-12T00:44:28.553 回答
2

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

window.location.hash = window.location.hash.substring(0, 11);
于 2013-11-12T00:44:21.200 回答