0

我正在使用 HTML5 jQuery 捆绑的History.js插件。它工作正常,但我需要能够使用类似的链接(没有 History.js 也能正常工作)

http://website/url#popup=/url/some/more/params/

暂时,如果我尝试使用它,我的哈希页面将在没有哈希的情况下重新加载——我刚刚在只有 History.js 插件的环境中测试了它(以确保这是一个 History.js 问题)。

http://website/popup=/url/some/more/params/

但是,如果我尝试不带“/”符号的哈希,一切都会好起来的,location.hash 将保持不变,不会重新加载页面:

http://website/#popup=url

问题是我想在#popup 参数中使用本机网址。易于处理和显示这种方式链接对用户来说一目了然,打开弹出窗口后每个人都可以分享链接。

是否可以禁用此类 location.hash 更改和重定向?我真的不认为使用带有特殊分隔符的链接是个好主意:

http://website/#popup=url:param:values

PS 在将其添加到 location.hash 之前,我尝试将 encodeURIComponent() 应用于弹出 url,以下 url 也会删除哈希并进行重定向:

http://website/#popup%3D%2Ftest%2Furl
4

1 回答 1

1

您的 URL 无效,如果它位于哈希之后,则正斜杠应为 %2F。

此外,在地址栏中输入

http://stackoverflow.com/questions/13953766/history-js-rewrites-location-hash-value#popup=eerste/tweede/derde

#popup=eerste/tweede/derde在 location.hash 中创建,这是正确的。

在我看来,您应该向 History.js 的作者提交错误报告

于 2012-12-19T13:49:12.093 回答