链接点击在浏览器中有效,但在Android Webview中无效-IONIC

时间:2019-04-18 12:01:30

标签: javascript angular typescript ionic-framework webview

我正在尝试从我的rest api下载blob文件。该代码在浏览器中运行时有效,但是当我尝试在android应用程序中使用时,该代码不执行任何操作。并且不要显示任何错误。

请参见下面的代码:

this.documentService.getURLDocumentConverted(documentMain.DOCUMENT.ID_DOCUMENT).subscribe(
      response => {
          var file = new Blob([response.body], { type: 'application/pdf' });
          var link = document.createElement('a');

          link.href = (window.URL || (window as any).webkitURL || window || {}).createObjectURL(file);
          link.download = fileName + ".pdf";
          link.click();
      }

1 个答案:

答案 0 :(得分:0)

确保您设置了WebViewClient。默认情况下,单击链接将发送意图,这些意图将由具有匹配意图过滤器的应用程序处理(通常,您只会看到浏览器应用程序)。我猜想没有应用程序会为blob://方案注册意图过滤器,因此没有任何东西可以处理意图(因此,对点击没有明显反应)。

设置默认构造的WebViewClient会改变行为:WebView会自行处理导航。

这在API reference for shouldOverrideUrlLoading()中有描述。