如何从在 iOS 中保存为应用程序的页面打开新页面?

Posted

技术标签:

【中文标题】如何从在 iOS 中保存为应用程序的页面打开新页面?【英文标题】:How can I open new pages from a page saved as an application in iOS? 【发布时间】:2013-03-01 13:58:11 【问题描述】:

我正在开发一个 html5 应用程序,它应该能够在许多不同的环境中运行 - 大多数桌面网络浏览器、移动网络浏览器,以及作为保存到 ios 设备的应用程序。

问题在于它使用 target="_blank" 打开多个单独的页面,主要用于导出或打印数据,这在 iOS Web 应用程序中会吹走当前窗口并使用户无法返回。一个简单的返回链接不是解决方案,因为主页中的状态比可以合理传递的要多。 iOS 移动应用程序是否可以在移动 Safari 中将其页面作为新标签打开?

【问题讨论】:

【参考方案1】:

如果您正在谈论将 Web 应用程序添加到主屏幕并以独立模式运行它,请使用:

<meta name="apple-mobile-web-app-capable" content="yes" />

那么遗憾的是,答案是否定的。我刚刚完成了需要像这样工作的项目,在新“标签”中打开链接的唯一方法是使用 HTML/CSS/JS 创建自己的标签并在 iframe 中打开这些链接。

您还需要注意 X-Frame-Options: Deny 会阻止网站在 iframe 中加载。 例如 google、facebook... 不能再在 iframe 中打开,因为他们想要protect them self against Clickjacking

最后,我最终使我的应用程序 100% 基于 javascript,并在 index.html 页面上完成了所有操作。 当我需要来自服务器端的东西时,我还做了一些 AJAX 请求...... 而且效果很好。

如果您使用的是 JQuery,请参阅:handling downloads of exported material via ajax。

【讨论】:

以上是关于如何从在 iOS 中保存为应用程序的页面打开新页面?的主要内容,如果未能解决你的问题,请参考以下文章

谷歌浏览器设置新标签栏打开指定页面

如何在 Selenium (Python) 中将打开的页面保存为 pdf

角度选项卡选择打开新页面而不是在同一页面中打开

在 Cordova 中播放音频文件后如何打开页面?

如何操作页面多个窗口?

java保存到session里,新的JSP页面怎么获取不到值