利用iframe中的浏览器历史记录

时间:2017-11-15 09:06:08

标签: javascript angularjs iframe routing angular-ui-router

我在iframe内运行了一个AngularJS应用。该应用程序提供了自己的导航(使用ui-router),周围的页面除了我的应用程序之外几乎不包含任何内容。

因此我希望能够使用浏览器后退/前进按钮来浏览我的应用。

当前行为

当我向后/向前导航或刷新页面时,这仅影响父页面(完全重新加载)。这是有道理的,因为我的iframe中的状态转换不会影响URL,因此不会在浏览器历史记录中创建新条目。

研究

奇怪的是,在我搜索解决方案时,我发现了几个关于如何阻止 iframe搞乱/干扰浏览器历史记录的问题。因此我假设在状态变化上生成浏览器历史记录是某种默认行为。

我玩了

$locationProvider.html5Mode

和我的状态对象中的网址,但似乎没有任何影响浏览器历史记录。

我假设一旦我解决了这个问题,下一步就是阻止浏览器导航的完整页面重新加载,而是在我的应用程序中调用$state - 转换。我似乎需要利用iframes popstate事件,但尚未找到任何文档或良好示例。你能指点我这方面的好方向吗?

问题

如何委派(后退/前进 - )浏览器导航到在iframe内运行的Angular-App?

0 个答案:

没有答案