2017-11-06 3 views
1

フォーラム全体とGoogleを検索していましたが、この問題の解決策が見つかりませんでした。Ionic 3でダイナミックリンクをインターセプトする方法

私たちのソフトウェア(通信ソリューション)をAndroidおよびIOSと統合するIonic 2(現在3つ)のアプリケーションがあります。私はイオニックが私を助けてくれて本当に感謝しています。私のアプリは、私たちの主なプラットフォームからアプリケーションにロードされているwebservices(REST)をかなりロードしています。

この特定の部分では、内部にいくつかのhtml機能を含むことができるjsonコンテンツの読み込みがあります。感情のように(それは大丈夫です)、投稿時にユーザーが入れているリンクです。このリンクは基本的にhttp://www.example.com/profile/userid1で、facebookの機能(マークの友人のようなもの)です。

私のアプリが動作しているときに、このリンクをブラウザーで開こうとしましたが、それらをインターセプトしてNavControllerで開き、アプリケーション内でプロフィールページをプッシュします。

私はこのリンクを見つけてIDを取得し、私のアプリケーション内で開いて、この外部のクリックを置き換えるためにjson変数(innerHTML)を調べる必要があります。私が試した何

私は前に交換する内部HTMLを表示

funReplaceMarkedUsers(text){ 
    return text.replace(/href=/gm, “(click)=funPushProfile()”); 
} 

とイオンを治療しようとしたが、このライブの変化を理解し、関数を呼び出していないように見えました。

私は、クリックを傍受する方法が見つかったと思います。私はこのリンクをいくつかのクリック機能を置く前に変更することはできませんダイナミック生成されます。

私は私のようないくつかの問題が見つかりました: http://intown.biz/2014/03/30/cordova-ionic-links-in-browser/2

をしかし、すべてのソリューションは、とにかくイオン1.

です。私はすべての状況を調べずに助けを求める人ではなく、解決策を見つけるのに多くの努力をしましたが、何も私を助けてくれないようです。誰もがこのような問題を解決する方法を考えている?

私が提供できるお手伝いをお待ちしております。

おかげ

答えて

0

home.tsテンプレートで

export class HomePage { 
    appName = 'Ionic App'; 
    html ='<a href="https://plnkr.co" >Link</a>'; 

    constructor(public navController: NavController, public renderer: Renderer, private elRef:ElementRef) { } 

    ionViewDidLoad() { 
    let link = this.elRef.nativeElement.querySelector('a'); 
    let global = this.renderer.listen(link, 'click', (evt) => { 
     console.log(link.getAttribute('href')); 
     return false; 
    }) 
    } 
} 

<ion-content padding> 
    <div [innerHTML]="html"></div> 
</ion-content> 

Plnkr link

関連する問題