iframe和cordova /离子后退按钮

时间:2015-05-20 11:12:45

标签: javascript cordova iframe ionic-framework

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

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

当按下后退按钮而不是返回到iframe中的上一页时,应用程序就存在了。

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

我想要做的是,手机后退按钮应该适用于iframe,但当iframe位于其主页时,后退按钮应该适用于视图

如何做到这一点?

1 个答案:

答案 0 :(得分:1)

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

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

其中一种方法是document.addEventListener("backbutton", yourFunctionHere, false);,然后您可以使用yourFunctionHere

指示iframe在iframe.contentWindow.history.back();来电中返回

我没有测试上述任何一项,但希望这应该给你一个起点,你可以解决。但是,鉴于您正在跨域工作,甚至可以访问back()命令,在这种情况下,您可能会运气不好。

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