网站包含一个“随机”链接,该链接会加载一个返回307重定向到我们想要的网址的网址。它工作正常:单击它,你加载一个随机页面。问题是,每次你点击它,浏览器都会假设你正在加载同一页面:所以如果你在主页上,那么你按照随机链接5次,然后按回来,你将被全部带走返回主页的方式,无法找到您刚才看到的随机页面。我想修改此行为,以便用户可以通过后退和前进按钮访问以前的随机页面。
我不拥有该网站,因此我不能只更改重定向代码。
这是我尝试过的,所有这些都失败了。
readystate == 2
停止,我无法访问location
标题。location.href = random_link.href
。这没有效果 - 新页面仍然没有进入历史。history.pushState
。这成功地将页面添加到历史记录中,但我无法找到区分新页面和通过后退按钮打开的页面的方法,因此历史记录很快就会变得非常破坏。localStorage
保留我自己的历史。如上所述,我无法确定何时使用后退按钮。我正在开发一个我非常肯定会工作的解决方案,包括在现有页面上的iframe中加载页面,并使用后台进程和消息传递来处理来自chrome扩展的内容注入这一事实'从iframe中访问window.parent
。并使用历史记录API在地址栏中反映当前iframe的网址,并在适当的位置获取后退和转发按钮以应用于当前的iframe。
虽然我很确定最后的解决方案可以使用,但这对于看似简单的问题来说是一种非常复杂和重量级的方法。所以我想在继续之前我会问你们:还有其他想法吗?
答案 0 :(得分:0)
您是否尝试将位置存储在localStorage中,然后按下后退按钮?
我相信你知道localStorage是如何工作的,你可以参考这个:Is there a way to catch the back button event in javascript?
吨。