2016-05-10 12 views
5

ホスト名の選択を除いて、システムの外部ブラウザでアプリのすべてのリンクを開くことができます。allow-intentでApache Cordovaの許可ナビゲーションオーバーライド

<allow-navigation href="*.hostname.com/*"/>を入力しようとしましたが、<allow-intent href="http://*/*" /> and <allow-intent href="https://*/*"をアプリ内の他のすべてのリンクのインテントタグとして使用すると、オーバーライドされます。

期待された結果は、私たちのホスト名がアプリ内で開かれているが、代わりに外部のブラウザで開くということになります。

最近のすべてのドキュメントを参照してネットで利用できるようにしてみましたが、私の解決策への回答が見つかりませんでした。あなたたちが知っていることを願っています。

編集:最新のcordova CLIと最新のホワイトリストプラグインをinappbrowserプラグインで実行しました。

敬具、

ダニエル

+0

どこにこの問題がありますか? iOSで?アンドロイド?どちらも? cordova-ios 4.1.1でこれを修正する必要があります – jcesarmobile

+0

@Thrinariaはあなたにこのリンクを見てみることをお勧めします - http://stackoverflow.com/questions/37127660/cordova-wrapper-app-where-internal-links-load-同様の問題を処理していたアプリ内外リンク - ローディングインブロー – Gandhi

+0

@jcesarmobile 6.1 android and ios。 – Thrinaria

答えて

0

私はあなたがそれを手動で行う必要があると思います。これを実現するには、inApp Browserプラグインを使用できます。

  1. それはシステムのブラウザー外部コールであり、それは内部開いている場合は、リンクに cordova.InAppBrowser.open('http://external-domain.name', '_system', 'location=yes');
  2. を開くと
  3. (ハイパーリンクをチェックすることにより、あなたのホスト名が含まれているか、いない含まれている)リンクは外部/内部でチェックあなたがそれを必要としない場合は、第三ステップを無視することができますInAppBrowser cordova.InAppBrowser.open('http://yourdomain.name', '_blank', 'location=yes');

内部リンク。

全コード:

$(document).on("click","a",function(e){   
     var hrefs = $(this).attr("href");   

     if(hrefs.indexOf("yourdomain") > -1) { 
      //Open link inside inAppBrowser 
      cordova.InAppBrowser.open(hrefs, '_blank', 'location=yes'); 
      e.preventDefault();//To prevent default click 
     } 
     else { 
      //Open link inside system browser 
      cordova.InAppBrowser.open(hrefs, '_system', 'location=yes'); 
      e.preventDefault();//To prevent default click 
     } 
}) 
1

はこれにあなたの<allow-*>タグを変更してみてください:

<allow-intent href="*.hostname.com/*" 
<allow-navigation href="https://*/*" 
<allow-navigation href="http://*/*" 
<allow-access href="https://*/*" 
<allow-access href="http://*/*" 

<allow-navigation>タグはコルドバのWebView自体がナビゲートすることができURLを制御するためのものです。

このarticleを見て、コルドバのホワイトリストをよく理解してください。

+0

allow-accessは、

関連する問題