【发布时间】:2013-03-21 10:56:03
【问题描述】:
有没有人在 android 中使用 Childbrowsers 或 InAppBrowser 插件用于 pdf/anydoc 查看器...如果它是如何工作的...我需要为我的 phonegap 应用程序开发一个文档查看器...请提出一些建议...谢谢 :)
【问题讨论】:
标签: android ios cordova phonegap-plugins
有没有人在 android 中使用 Childbrowsers 或 InAppBrowser 插件用于 pdf/anydoc 查看器...如果它是如何工作的...我需要为我的 phonegap 应用程序开发一个文档查看器...请提出一些建议...谢谢 :)
【问题讨论】:
标签: android ios cordova phonegap-plugins
请查看提供的文档或告诉我们您的尝试
InAppBrowser 是自 2.3.0 版以来标准 phonegap 版本的内置插件。 Childbrowser 之前的版本作为非默认插件使用。
文档在 phonegap 网站上
http://docs.phonegap.com/en/2.5.0/cordova_inappbrowser_inappbrowser.md.html#InAppBrowser
【讨论】:
Andrdoid 没有默认的 PDF 查看器。因此,您可能需要使用谷歌文档阅读器打开您的文档并显示在您的 InAppBrowser 中。
【讨论】:
对于所有遇到此问题的人来说,这是我终于发现的:
HTML 5 对象标签:不工作
嵌入标签:不工作
childBrowser Plugin:我认为它可以工作,但它是为 2.0.0 版本设计的。所以你会得到很多错误,所以我没有让它工作。
Phonegap InAppViewer:如果你这样使用它:
window.open('http://www.example.com/test.pdf', '_blank', 'location=yes')
它不会工作。 InAppViewer 无法打开 PDF,不管 PDF 是外部存储还是本地存储。
到目前为止我的解决方案(不是实际的想法):
你可以用_system调用窗口函数。像这样:
window.open('http://www.example.com/test.pdf', '_system', 'location=yes')
这将在普通浏览器中打开 PDF 并下载。下载后会询问是否应该使用 PDF 查看器打开它。但是您必须返回您的应用并在此之后再次打开它。
另一种可能性是您只需使用 Phonegap Filesystem API 将其下载到您的 sdcard 中:
var fileTransfer = new FileTransfer();
fileTransfer.download(
"http://developer.android.com/assets/images/home/ics-android.png",
"file://sdcard/ics-android.png",
function(entry) {
alert("download complete: " + entry.fullPath);
},
function(error) {
alert("download error source " + error.source);
alert("download error target " + error.target);
alert("upload error code" + error.code);
});
我发现的最后一件事是,使用 Google docs/drive 使用链接到 google docs 的 InAppViewer 打开它:
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
window.open('https://docs.google.com/viewer?url=http://www.example.com/test.pdf&embedded=true', '_blank', 'location=yes');
ref = window.open('index.html', '_self');
}
这将在应用程序中打开 PDF,在谷歌文档上查看它。你可以在这里生成你的永久链接:https://docs.google.com/viewer 所以即使你改变了你的 pdf 文件,它仍然可以工作
我希望这份摘要能帮助您节省时间。如果有其他解决方案,请告诉我
【讨论】: