URL 中的尾随哈希 (#) 会破坏一些 Javascript

Trailing hash (#) in URL breaks some Javascript?

本文关键字:Javascript 哈希 URL      更新时间:2023-09-26

我最近在尝试调试我们的Magento商店的问题时遇到了一个真正的挠头问题。 其中一个模板文件中的一些内联 javascript 没有运行,我不知道为什么。 它在查看不同产品的页面的另一个实例中运行良好,但在查看我遇到问题的产品时则不然。 不知何故,在我的调试过程中,一个哈希符号 (#( 被添加到 URL 的末尾。 由于某种原因,这导致Javascript无法运行。 我删除了哈希,一切都按预期工作。 我知道 URL 中的哈希用于链接到锚点,您也可以使用我不熟悉但在我寻找解决方案时遇到的哈希做其他花哨的事情。 谁能解释一下这里发生了什么,为什么尾部斜杠会破坏我的一些 JavaScript? 另外,您是否建议我采取措施清理URL(可能使用htaccess规则(,以便客户不会意外遇到此问题并诅咒我们有一个损坏的网站?

谢谢!

您使用的 js 很可能解析 URL 并尝试将结束部分(查询或其他内容(与特定字符串匹配。 添加#后,字符串不再匹配,因此它不起作用。

当然,这可能是其他事情,但没有看到示例代码,这是我的第一个想法