【问题标题】:If link is 'http://google.com', it worked, but if i change link to my pdf url, it doesn't open如果链接是“http://google.com”,它可以工作,但如果我将链接更改为我的 pdf url,它不会打开
【发布时间】:2016-11-22 14:16:54
【问题描述】:

window.open("http://google.com") - 工作正常

window.open("data:application/pdf;base64,{base64EncodedString}") - 在 iOS 设备上可以正常打开,但在 Android 上不能。

【问题讨论】:

  • StackOverflow 不是一个调试平台,它是一个问答平台。向我们展示您尝试了什么,在 android(Error? Blank page) 上打开时会发生什么,如果您使用的是 Xamarin 或 Java 等。
  • 我没有看到任何错误。应用程序只是不响应点击。
  • 看在上帝的份上,您使用的是 Java 还是 Xamarin?你试过什么?我们不是算命先生。
  • 这是 Apache Cordova
  • 有日志什么的吗?

标签: javascript android cordova pdf


【解决方案1】:

请使用插件文件打开器。这是插件。

在您的工作目录中运行此命令。

cordova plugin add cordova-plugin-file-opener2

基本用法

PDF文件打开代码

cordova.plugins.fileOpener2.open(
    '/sdcard/Download/starwars.pdf', // You can also use a Cordova-style file uri: cdvfile://localhost/persistent/Download/starwars.pdf
    'application/pdf', 
    { 
        error : function(e) { 
            console.log('Error status: ' + e.status + ' - Error message: ' + e.message);
        },
        success : function () {
            console.log('file opened successfully');                
        }
    }
);

请检查这个 url,它是插件 git 目录,还有一些打开文件的例子。 A File Opener Plugin for Cordova


我还建议使用 In App Browser 插件。

你可以通过运行安装它:

cordova plugin add org.apache.cordova.inappbrowser

在您的 CLI 中(如果您使用的是 Cordova 3.x)。 较早的版本(如 2.8.0、2.9.0 等)应预先安装它。

在新窗口中打开 PDF 文档使用:

window.open('http://your-url.com/yourPDF.pdf', '_blank'); 您也许可以使用 '_system 选项而不是 '_blank' 但我不确定结果,它可能会打开系统定义的 PDF 查看器

【讨论】:

  • 为什么需要使用第三方插件?
  • 应用浏览器插件也需要按原样使用。
  • 你一直说需要 - 我的问题是为什么?为什么在 Android 中无法打开 PDF?
  • 很抱歉给您带来不便,但我们无法在没有这些插件的情况下打开 pdf 文件。谢谢
  • 现在请查看整个答案,希望对您有所帮助。
【解决方案2】:

看来我必须使用

window.location.href = "data:application/pdf;base64,{base64EncodedString}"

而不是 window.open("data:application/pdf;base64,{base64EncodedString}");

【讨论】:

    猜你喜欢
    • 2016-04-27
    • 2014-03-06
    • 2011-06-17
    • 2021-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-20
    相关资源
    最近更新 更多