2017-11-12 35 views
1

目的は、アプリケーションの起動時にWebビュー内で外部URLを開くことです。私はwww/index.htmlでこのスクリプトをインラインInAppBrowser.openがWebViewの代わりにブラウザで開きます

cordova create test 
cd test 
cordova platform add ios 
cordova plugin add cordova-plugin-inappbrowser 

<script> 
    document.addEventListener("deviceready", onDeviceReady, false); 
    function onDeviceReady() { 
    cordova.InAppBrowser.open('https://google.com', '_self'); 
    } 
</script> 

私はcordova run iosとアプリ、アプリの開始をテストし、私はこの取得:

私は新鮮なコルドバプロジェクトを作成します

ハッシュ、ナンス、または 'unsafe-inline'がscript-srcにも表示されないため、スクリプトの実行を拒否しましたディレクティブ、またはコンテンツセキュリティポリシーのdefault-srcディレクティブには適用されません。

だから私は、コンテンツセキュリティポリシータグに'unsafe-inline'を追加し、それはこのようになります。

<meta 
    http-equiv="Content-Security-Policy" 
    content=" 
     default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval' 'unsafe-inline'; 
     style-src 'self' 'unsafe-inline'; 
     media-src *; 
     img-src 'self' data: content:;"> 

私はcordova run iosでアプリをテストし、アプリが起動しますが、それはSafariでhttps://google.comを開きます

enter image description here

どのようにCordova webview自体でURLを開くのですか?


私もwindow.location="https://google.com"と同じように動作しました。 docsから

答えて

0

あなたはInAppBrowserで開くように_blanktargetを設定する必要があるように見える:

_self
cordova.InAppBrowser.open('https://google.com', '_blank'); 

:URLが白である場合コルドバWebViewので開きますそれ以外の場合はInAppBrowserで開きます。

_blankInAppBrowserで開きます。

_system:システムのWebブラウザで開きます。

+0

Naah、その代わりに[inapp browser](https://imgur.com/a/cMiQT)が開き、そのURLが必要ですコルドバのwebview自体で開きます。 – Birowsky

1

私は​​3210でこれを欠けていた。

<allow-navigation href="*" /> 

私は何とかthe docsからそれを逃しました。

デフォルトでは、ファイル:// URLのみのナビゲーションが許可されています。他のURLを許可するには、config.xmlにタグを追加する必要があります:

関連する問題