【问题标题】:iframe ionic3 app crash when click inside the iframe在 iframe 内单击时,iframe ionic3 应用程序崩溃
【发布时间】:2018-12-06 09:50:12
【问题描述】:

嘿,我在 iframe 中使用翻书网址:

<ng-container>
        <iframe 
                [src]="eUrl"
                id="flipping_book_iframe"
                frameborder="0"
                allowfullscreen="allowfullscreen"></iframe>
</ng-container>

因此,当我单击 iframe 内的下载按钮(来自翻书网址)时,应用程序会在几秒钟后崩溃。 但是下一张和上一张幻灯片都可以正常工作

离子:

离子(离子 CLI):4.0.2

离子框架:离子角度

3.9.2 @ionic/app-scripts : 3.2.0

科尔多瓦:

cordova (Cordova CLI):8.1.2 (cordova-lib@8.1.1)

Cordova 平台:不可用

系统:

Android SDK 工具:25.2.5

NodeJS : v8.9.3

npm : 5.4.2

操作系统:Windows 10

我在 iframe 中找到了这个:但它似乎不适用于移动设备: 出版物.pdf 它在网站上正常工作。

【问题讨论】:

  • 下载是否按预期工作?
  • 是的,如果我在浏览器上打开链接它可以正常工作,并且在 webiste 上的相同行为它可以正常工作,你可以看到我更新的问题,关于在 iframe 中找到的链接

标签: javascript angular typescript iframe ionic3


【解决方案1】:

我找到了解决方案: 将 html iframe 编辑为:

<ng-container>
    <iframe 
            [src]="eUrl"
            id="flipping_book_iframe"
            #flippingBook
            (load)="onLoadFlippingBook()"
            frameborder="0"
            allowfullscreen="allowfullscreen"></iframe>
</ng-container>

.ts 文件:

 @ViewChild('flippingBook') flippingBookIframe: ElementRef;

onLoadFlippingBook(){
    if(this.flippingBookIframe){
      let iframe = jQuery('#flipping_book_iframe');
      let allAs = iframe.contents().find('a[target=_blank]');
      allAs.on("click",function(e){
        e.preventDefault();
        let url = this.href;
        window.open(url,"_system");
      });
    }

至少当你点击下载按钮时,pdf会打开

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-09-02
    • 2017-09-27
    • 2021-11-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多