在 HTML5 中的 iPhone/iPad 上带有后退按钮的 PDF?

Posted

技术标签:

【中文标题】在 HTML5 中的 iPhone/iPad 上带有后退按钮的 PDF?【英文标题】:PDF with a back button on the iPhone/iPad in HTML5? 【发布时间】:2011-05-24 16:08:40 【问题描述】:

我正在尝试为打开 PDF 的 ios(不是路由器)编写 html5 应用程序。现在我只使用<a href="some.pdf" type="application/pdf">。这将退出应用程序并在 Safari 中打开 PDF。

如何获得返回按钮以将用户带回我的应用程序,或者在没有 Safari 浏览器的情况下查看 PDF?

我正在使用 Sencha Touch,并将与 PhoneGap 一起部署。

【问题讨论】:

不,target="_blank" 不会改变任何东西。 【参考方案1】:

我不知道有什么简单的方法可以做到这一点,因为您的应用程序也托管在单个 UIWebView 中,因此在其中显示 PDF 将导致无法显示后退按钮或用户无法导航回你的申请。

我唯一能想到的就是编写一个 PhoneGap 插件,该插件将创建另一个 UIWebView,并将其设置为 PDF 的内容,并将其添加到主 UIViewController。然后,您将视图设置为距顶部 x 像素,这将允许您以工具栏方式显示后退按钮。当他们单击返回时,插件会卸载 PDF,破坏视图,您的应用程序仍在运行。 (您也可以在顶部创建一个带有本机后退按钮的视图,该按钮在单击时隐藏 PDF 的 UIWebView)。

【讨论】:

ChildBrowser PhoneGap 插件正是我所需要的。【参考方案2】:

您应该创建一个指向 PDF 的 NSURLRequest 并将其提供给您的 UIWebView

- (void)viewDidLoad 
    [super viewDidLoad];
    [webView loadRequest:[NSURLRequest requestWithURL:pdfUrl]];
 

我不知道你从哪里得到你的 PDF,但如果你需要拦截点击链接 您也可以通过定义 UIWebView 的委托来做到这一点

-webView:shouldStartLoadWithRequest:navigationType:.

【讨论】:

这很酷,但我可以在 HTML 中做同样的事情吗?还是我必须写一个PhoneGap插件? 我认为您应该使用UIWebView 来显示您的HTML5 内容。如果是这样,我建议的方法应该很容易实现,尽管我现在怀疑 Sencha Touch 可能会在这里发挥作用......

以上是关于在 HTML5 中的 iPhone/iPad 上带有后退按钮的 PDF?的主要内容,如果未能解决你的问题,请参考以下文章

使用 html5 视频提取部分视频。 iphone/ipad 上的全屏问题

有没有办法避免提示用户允许在 Safari(iPhone/iPad)中的每次加载时共享位置?

Html 5 [input type=Date] 控件,最大日期在 iPhone/Ipad 中不起作用

如何将混合移动应用程序制作为 ipad/iphone 应用程序?

HTMl5 电话和短信是不是返回任何值?

仅 iPhone 应用程序中的 UIWebView 显示在 iPad 上