2017-05-30 3 views
0

Suche überall nach einer Antwort. Meine App enthält Links, die beim Laden des Inhalts aus AJAX dynamisch eingefügt werden.Ionic 2 InAppBrowser lädt keine eingefügten Links

Ich möchte alle Links, auf die der Benutzer klickt, im InAppBrowser oder im System Browser öffnen. In der Webansicht wird jedoch alles geöffnet.

Ich habe viele Dinge ausprobiert.

gap:// ist in der Content-Richtlinien URLs richtig eine window.open = (url, target?, opts?) => this.iab.create(encodeURI(url), '_blank', 'location=yes,hidden=no'); im app.component.ts

Meine anderen Code funktioniert Hergestellt codiert werden, wo die InAppBrowser Klicken auf einen Link richtig öffnet, aber das scheint nicht auf regelmäßige Verbindungen zu arbeiten, <a href

Jeder scheint ein Problem mit InAppBrowser zu haben, was ist der definitive Weg, dies zu tun !?

+0

Weiteres Debugging window.open() funktioniert gut, aber das Klicken auf einen Link innerhalb des Inhalts löst kein window.open aus, es navigiert nur zum Link in der Webansicht. –

Antwort

0

ich eine Arbeit um wie unten

  1. Bitte stellen Sie sicher InAppBrowser Plugin hinzugefügt
  2. Code hinzu Komponente handle Ereignis
  3. Auf der Ansicht, ich hinzufügen, und klicken Sie auf Ereignis für dynamische Inhalte

handleClick(event) { 
 
     if(this.platform.is('core')) 
 
     return; 
 
     if (event.target.tagName == "A") { 
 
      event.preventDefault(); 
 
      event.stopPropagation(); 
 
     // open link using inappbrowser 
 
     var url = event.target.getAttribute('href'); 
 
     console.log(url); 
 
     this.platform.ready().then(() => { 
 
        let browser = new InAppBrowser(url, '_blank'); 
 
        browser.show(); 
 
     }); 
 
     } 
 
    }
<p (click)="handleClick($event)" [innerHTML]="item.content">></p>

+0

Danke, ich habe ähnliches gemacht, aber ich habe es in eine Pipe gesteckt, weil der Inhalt dynamisch ist und nicht ein Event. –

Verwandte Themen