QQ音乐网页版的路由

发布于 2022-09-01 16:15:30 字数 1027 浏览 18 评论 0

前提:改变hash值 和 改变iframe的src值都会 增加浏览器历史记录。
如果不作处理,每次通过hash的改变而修改iframe的src值将导致 产生两条历史记录

QQ音乐网页版 同时使用了这两个东西,

<iframe name="contentFrame" id="contentFrame" width="100%" height="1382px" allowtransparency="true" scrolling="no" border="0" frameborder="0" src="about:blank"></iframe>

QQ音乐同时利用hash (http://y.qq.com/#type=toplist&p=top_index) 进行路由,但是它的 iframe 的 src 一直是about:blank,并没有改变。

我正在制作的网站刚好也使用了这两者,为了不同时产生两条历史记录,我点击主页面a标签改变hash时,删掉原来的iframe,然后再新建新的iframe,这样一来,只有hash的改变产生的一条历史记录,而iframe不会产生。但是iframe内的页面跳转依然会产生历史记录,但这些跳转并没有改变主页面的hash值,所以每次刷新页面时,只能返回到主页原本的hash值所指定的页面。

我该如何处理呢?(我个人的想法:让iframe的页面跳转 反映到 主页面的hash值改变,当然,我觉得执行顺序是点击iframe内的链接,产生一个变量(当然这个变量应该不是通过iframe的hash值传递,因为这会产生新的历史记录),然后传递给主页面,主页面根据这个变量产生相应的hash值,然后再通过这个hash值,产生iframe的src链接。 )

另外有两个关于QQ音乐网页版的问题:
① 为什么QQ音乐网页版的 iframe的 src一直是 about:blank, 却可以打开不同的页面??
②为什么是hash值的#号 前有个/,这个有什么寓意吗?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文