我正在使用iframe加载我的一个视图中的离子网页 .
<iframe name="siteFrame" id="siteFrame" src="www.example.com" style="width:100%; height:100%" height="100%" ></iframe>
会发生什么,当按下后退按钮而不是回到iframe中的上一页时,应用程序就存在了 .
我无法检测到iframe的当前href,因为跨域安全问题阻止了我 .
我想要做的是,手机后退按钮应该在iframe上工作,但当iframe在它的主页时,后退按钮应该适用于视图然后
如何才能做到这一点?
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