0

Cordova で動作する Telerik Platform を使用しています。アプリに一部のコンテンツを表示する CMS からコンテンツを動的に取得しました。私たちの作成者はコンテンツにリンクを配置したいと考えていますが、もちろん、CMS のリッチ テキスト エディターでリンクに「onclick」を配置する必要はありません。

作成者が CSS クラスを追加したリンクを入力するだけで、jQuery などを使用してクリックをキャプチャし、Cordova アプリでリンクを翻訳して " _system」ブラウザ。

最終的には、作成者が CMS に入力するときに使用するリンクを次のようにしたいと考えています。

<a href="http://mylink.com" target="_blank" class="externalLink">My external link</a>

しかし、PhoneGap/Telerik プラットフォーム アプリでは、リンクをシステム ブラウザーで開く必要があります。現在はそうではありませんが、現在の webview で開いており、アプリを web ページにロックして元に戻す方法はありません。

私はこれまでこれを試しましたが、役に立ちませんでした。「href」がブラウザの起動をトリガーするだけで、アプリが webview ブラウザに引​​っ掛かり、アプリを強制終了しないと元に戻らないようです。

   //IN THE APP JS ITSELF
   //Don't even think this works
 $('a.externalLink, a[target="_blank"]').on('click', function(e){
   e.preventDefault();// Does not prevent default
   console.log("trying to get system");//Does not console
   alert("prevent default"); // Does not alert
   window.open($(this).attr('href'), '_system');
    return false;
 }); 

CMS に入力されたリンクは、「href」リンクに直接誘導され、上記の jQuery を無視しているようです。webview がキャッチする前にキャッチする方法はありますか?

4

1 に答える 1

1

実際のhrefにonclickイベントを配置せずに、他の誰かがこれをやりたい場合に備えて、答えを見つけました。

   $(document).on('click', 'a[target="_system"],a[target="_blank"]', function (e) {
        e.preventDefault();
        var url = this.href;
        window.open(url,"_system");                    
});
于 2016-02-01T22:51:46.670 に答える