【问题标题】:cannot open pdf url in android using inAppBrowser cordova无法使用 inAppBrowser cordova 在 android 中打开 pdf url
【发布时间】:2016-07-15 07:23:06
【问题描述】:

我有一个 pdf 网址,我想用我的 Android 使用 inAppBrowser 插件打开它。我已将该插件添加到我的科尔多瓦应用程序中。这是我的脚本

<script>
   var doc = new jsPDF();
   doc.text('hello');
   var uri = doc.output('datauristring'); //pdf url
</script>

<button onclick="window.open(uri, '_system')">test</button>

我也尝试过这样的按钮,但它没有打开。并且根本没有任何反应。 window.open('data:application/pdf;base64,blabla...', '_system')

但在我的笔记本电脑中,它会正确显示。任何答案将不胜感激,谢谢

【问题讨论】:

  • 你安装了cordova白名单插件吗?
  • 我也安装了。
  • @MuhammadRauuf,您是否在 html 中添加了 cordova.js 文件?您是否还在脚本中定义了“deviceready”事件侦听器?
  • @Gandhi 我已经添加了它们。但是,如果我将 url 更改为 'http://stackoverflow.com' , window.open 将正确打开该链接。
  • 更新你的 config.xml

标签: javascript android cordova pdf


【解决方案1】:

试试这个,

url = "https://docs.google.com/gview?embedded=true&url="+YOUR_PDF_LINK;
var documentLink = cordova.InAppBrowser.open(url, '_blank', 'location=no,hardwareback=yes');

documentLink.addEventListener('loadstart', function(event) {

});

documentLink.addEventListener('exit', function(event) {
    documentLink.removeEventListener("loadstart", function(e){});
});

您需要安装 InAppBrowser 插件

【讨论】:

  • 是的,我仍在我的应用程序中使用它。
  • 你能举一个YOUR_PDF_LINK的例子吗?我们可以在这里传递Base64 编码的 PDF 表示,还是需要下载文件的路径?另外,addEventListener 函数的用途是什么?
【解决方案2】:

在您的 config.xml 文件中添加以下行。

<allow-navigation href="*" />

它应该可以工作

config.xml 的位置:\Your Project Folder\platforms\android\res\xml

【讨论】:

  • 还是一样。如果链接是'http://google.com',它可以工作,但如果我将链接更改为我的pdf url,它不会打开。这是我的完整pdf链接data:application/pdf;base64,JVBERi0xLjMKMyAwIG9iago8PC9UeXBlIC9QYWdlCi9QYXJlbnQgMSAwIFIKL1Jlc291cmNlcyAyIDAgUgovTWVkaWFCb3ggWzAgMCA1OTUuMjggODQxLjg5XQovQ29udGVudHMgNCAwIFIKPj4KZW5kb2JqCjQgMCBvYmoKPDwvTGVuZ3RoIDYwPj4Kc3RyZWFtCjAuNTcgdwowIEcKQlQKL0YxIDE2IF....链接太长了
  • 您的链接似乎无效。请给出正确的链接
  • 这是我的 pdf 链接,当我用 chrome 在笔记本电脑中打开时它可以工作。
猜你喜欢
  • 2014-09-02
  • 2017-10-28
  • 1970-01-01
  • 2016-09-06
  • 1970-01-01
  • 1970-01-01
  • 2019-06-01
  • 2014-12-15
  • 1970-01-01
相关资源
最近更新 更多