我正在使用iframe在我的离子视图中加载网页。
<iframe name="siteFrame" id="siteFrame" src="www.example.com" style="width:100%; height:100%" height="100%" ></iframe>
当按下后退按钮而不是返回到iframe中的上一页时,应用程序就存在了。
我无法检测到iframe的当前href,因为跨域安全问题阻止了我。
我想要做的是,手机后退按钮应该适用于iframe,但当iframe位于其主页时,后退按钮应该适用于视图
如何做到这一点?
答案 0 :(得分:1)
问题是Cordova将后退按钮链接到webviews后退命令,如果它没有返回iframe,iframe永远不会成为你的webview历史的一部分(应该是,但我可能是错的 - 你有没有改变历史记录的工作方式?)
您可以尝试自己捕捉后退动作,并使用它来指示iframe返回页面。
其中一种方法是document.addEventListener("backbutton", yourFunctionHere, false);
,然后您可以使用yourFunctionHere
iframe.contentWindow.history.back();
来电中返回
我没有测试上述任何一项,但希望这应该给你一个起点,你可以解决。但是,鉴于您正在跨域工作,甚至可以访问back()命令,在这种情况下,您可能会运气不好。
您可以在此处找到相关的Cordova文档,以防万一:https://cordova.apache.org/docs/en/edge/cordova_events_events.md.html