首页 文章

iframe和cordova /离子后退按钮

提问于
浏览
0

我正在使用iframe加载我的一个视图中的离子网页 .

<iframe name="siteFrame" id="siteFrame" src="www.example.com" style="width:100%; height:100%" height="100%" ></iframe>

会发生什么,当按下后退按钮而不是回到iframe中的上一页时,应用程序就存在了 .

我无法检测到iframe的当前href,因为跨域安全问题阻止了我 .

我想要做的是,手机后退按钮应该在iframe上工作,但当iframe在它的主页时,后退按钮应该适用于视图然后

如何才能做到这一点?

1 回答

  • 1

    问题是Cordova将后退按钮链接到webviews后退命令,如果它没有返回到iframe,iframe永远不会成为你的webviews历史的一部分(应该是,但我可能是错的 - 你有没有改变了你的历史工作方式?)

    您可以尝试自己捕获后退动作,并使用它来指示iframe返回页面 .

    一种方法是 document.addEventListener("backbutton", yourFunctionHere, false); ,然后您可以使用 iframe.contentWindow.history.back(); 指示iframe返回 yourFunctionHere 调用内

    我没有测试过任何上述内容,但希望这可以为您提供一个可以解决问题的起点 . 但是,鉴于您正在跨域工作,甚至可以访问back()命令,在这种情况下,您可能会运气不好 .

    您可以在这里找到相关的Cordova文档,以防万一:https://cordova.apache.org/docs/en/edge/cordova_events_events.md.html

相关问题