Ionic InAppBrowser PDF iOS无后退按钮

时间:2018-07-18 14:29:44

标签: javascript ios pdf ionic-framework inappbrowser

我使用Cordiva,Ionic和Angular在Visual Studio Code中创建了一个应用程序。我可以从服务器请求一些json文件,在此json中,其中包括base64格式的pdf文件。为了显示pdf,我获得了InAppBrowser插件,并且为了显示pdf,我使用了以下代码:

构造函数:

constructor(public events: Events, public httpClient: HttpClient, private iab: InAppBrowser, 
    public userServiceProvider: UserServiceProvider, public deviceServiceProvider: DeviceServiceProvider) {
    super(events);
  }

和特定通话:

const browser = this.inAppBrowser.create('assets/pdf/web/viewer.html', '_blank', 'location=no,zoom=no,toolbar=no,fullscreen=yes,hidden=yes');
      let load: boolean = false;
      browser.on('loadstop').subscribe(event => {
        if (!load) {
          browser.executeScript({ code: "loadBase64Content('" + entity.pdfContent + "')" });
          load = true;
        }
        browser.show();
      });

assets / pdf / web / viewer.html是:https://github.com/mozilla/pdf.js/blob/master/web/viewer.html

我添加了一个小js来转换base64内容。

<script>
    function loadBase64Content(base64) {
      var u8_2 = new Uint8Array(atob(base64).split("").map(function (c) {
        return c.charCodeAt(0);
      }));
      PDFViewerApplication.open(u8_2)
    }
  </script>

pdf如所希望地显示。 在Android中,我可以使用硬件后退按钮返回到我的应用程序,但是对于iOS,我需要一个软件按钮来关闭浏览器,或者我被困在pdf查看器中并且必须关闭该应用程序。我用onclick =“ close()”的普通按钮尝试了-但这没用-这就是我认为我需要关闭浏览器本身的原因-但是我该如何从view.html进行函数调用父页面以在浏览器实例上调用关闭/隐藏。

0 个答案:

没有答案