Android phonegap应用程序的文档查看器

Android phonegap应用程序的文档查看器,android,ios,cordova,phonegap-plugins,Android,Ios,Cordova,Phonegap Plugins,有没有人在android中使用过ChildBrowser或用于pdf/anydoc viewer的InAppBrowser插件…如果有,它是如何工作的..我需要为我的phonegap应用程序开发一个文档查看器…请提供一些建议..谢谢:)请查看提供的文档或告诉我们您尝试了什么 InAppBrowser是自版本2.3.0以来标准phonegap版本的内置插件。 Childbrowser作为非默认插件用于该版本之前的版本 文档在phonegap网站上 Andrdoid没有默认的PDF查看器。因此,您可

有没有人在android中使用过ChildBrowser或用于pdf/anydoc viewer的InAppBrowser插件…如果有,它是如何工作的..我需要为我的phonegap应用程序开发一个文档查看器…请提供一些建议..谢谢:)

请查看提供的文档或告诉我们您尝试了什么

InAppBrowser是自版本2.3.0以来标准phonegap版本的内置插件。 Childbrowser作为非默认插件用于该版本之前的版本

文档在phonegap网站上


Andrdoid没有默认的PDF查看器。因此,您可能需要使用google document reader打开文档并显示在iApp浏览器中

对于每个陷入这个问题的人,我终于发现:

HTML5对象标记:不工作

嵌入标记:不工作

childBrowser插件:我认为它可以工作,但它是为2.0.0版本设计的。所以你会犯很多错误,所以我没有让它工作

Phonegap InAppViewer:如果您这样使用它:

window.open('http://www.example.com/test.pdf', '_blank', 'location=yes')
window.open('http://www.example.com/test.pdf', '_system', 'location=yes')
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);
});
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');
 }
这行不通。InAppViewer无法打开PDF,不管PDF是外部存储的还是本地存储的

到目前为止,我的解决方案(不是实际想法):

您可以使用_系统调用窗口函数。就像这样:

window.open('http://www.example.com/test.pdf', '_blank', 'location=yes')
window.open('http://www.example.com/test.pdf', '_system', 'location=yes')
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);
});
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并下载。下载后,它会询问是否应该用PDF查看器打开它。但你必须回到你的应用程序,然后再打开它

另一种可能是,您只需使用Phonegap文件系统API将其下载到SD卡,如下所示:

window.open('http://www.example.com/test.pdf', '_blank', 'location=yes')
window.open('http://www.example.com/test.pdf', '_system', 'location=yes')
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);
});
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');
 }
我发现的最后一件事是,使用Google docs/drive打开它时,InAppViewer链接到Google docs,如下所示:

window.open('http://www.example.com/test.pdf', '_blank', 'location=yes')
window.open('http://www.example.com/test.pdf', '_system', 'location=yes')
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);
});
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,并在谷歌文档上查看它。您可以在这里生成永久链接:因此,即使您更改了pdf文件,它仍然可以工作


我希望这个总结能帮助你节省时间。如果有其他解决方案,请告诉我

clinton,我知道InAppBrowser是一个内置插件。对于iOS应用程序,HTML5对象可以很好地显示任何文档,但在android上它失败了,由于android没有默认的pdf查看器,我编写的插件将pdf从应用程序中删除……我希望它显示在同一页面上……有没有办法做到……phonegap 2.3.0和2.5.0中的pdf bug是最新的吗?您使用的是最新版本吗?它会显示在同一页上还是会将pdf从应用程序中删除?我关心的是,我想在同一页上显示一个文档(在div标记内)…如何做到这一点?应用浏览器将始终显示在应用程序的顶部,占据整个屏幕。但它将成为你应用程序的一部分。单击InApp浏览器中的关闭按钮时,您将返回应用程序。您可以尝试使用PDF.JS()在HTML中使用JavaScript呈现PDF。它仍然是一个测试版软件,所以要小心使用。对我来说,它可以呈现我的大部分PDF,但不是全部。是的。我只是在AppBrowser中实现了它,它的工作方式和你说的一样。这可能不是我的选择,是否有办法加载本地pdf。目前,我有一个在线pdf,可以加载。这需要整个屏幕。你可以使用PDFViewer插件显示本地pdf:如何关闭google docs viewer并返回应用程序??