我正在开发一个HTML5应用程序,它应该能够在很多不同的环境中运行 - 大多数桌面Web浏览器,移动Web浏览器,以及保存到iOS设备的应用程序。
问题是它使用target =“_ blank”打开多个单独的页面,主要用于导出或打印数据,这在iOS Web应用程序中会打乱当前窗口并使用户无法返回。简单的链接不是解决方案,因为主页面中的状态比可以合理传递的更多。 iOS移动应用程序是否有办法在移动Safari中将其页面作为新选项卡打开?
答案 0 :(得分:1)
如果您正在谈论将您的网络应用程序添加到主屏幕并使用以下方式在独立模式下运行:
<meta name="apple-mobile-web-app-capable" content="yes" />
然后答案是否定的,可悲的是。我刚刚完成了需要像这样工作的项目,你可以在新的“标签”中打开链接的唯一方法是使用HTML / CSS / JS创建自己的标签,并在iframe中打开这些链接。
此外,您还需要了解阻止网站加载iframe的 X-Frame-Options:Deny 。 例如google,facebook ...不能再在iframe中打开,因为他们想要protect them self against Clickjacking。
最后,我最终将我的应用程序100%基于javascript并在index.html页面上完成了所有操作。 当我需要服务器端的东西时,我也做了一些AJAX请求... 而且效果很好。
如果您使用的是JQuery,请参阅:handling downloads of exported material via ajax。