4

phonegap ビルドを使用し、バージョンを 3.0.0 に設定しています。私のページには、iOS のサファリで開きたいリンクがあります。私の構成ファイルでは、アクセス元を「*」に設定しているため、すべての URL が許可されます (これは、アプリの他の部分に必要です)。これが必要かもしれないと言われたので、構成ファイルに inappbrowser プラグインもあります。

<access origin="*" /> 
<gap:plugin name="org.apache.cordova.core.inappbrowser" />

現在、次のコードを使用して「a」タグを設定しています。

$('#myATagID').on('click', function () {
            window.open(encodeURI('http://apache.org'), '_system', 'location=no');
        });

この URL を iPhone のサファリで開くためにさまざまな試みを試みましたが、phonegap ビルド 3.0.0 では成功しませんでした。ただし、このコードは Android でも機能します。

4

5 に答える 5

1

システム ブラウザで開くためだけにプラグインは必要ありません。次の JavaScript 関数を使用して同じタスクを実行します。

JavaScript:

// window.open wasn't opening a link in the system browser on iOS, so we have to use this function (requires phonegap.js)
function redirectToSystemBrowser(url) {
    // Wait for Cordova to load
    document.addEventListener('deviceready', onDeviceReady, false);
    // Cordova is ready
    function onDeviceReady() {
        // open URL in default web browser
        var ref = window.open(encodeURI(url), '_system', 'location=yes');
    }
}

次に、その関数を HTML で呼び出すだけです。

HTML:

<head>
    <!-- required for the redirectToSystemBrowser() function -->
    <script src="phonegap.js"></script>
</head>

<body>
    <ul>
        <li onclick="redirectToSystemBrowser('http://www.domain.ext');">link to something</li>
    </ul>
</body>

また、設定は指定しませんでした<access>(すべてコメントアウトしただけです)。

于 2013-11-12T19:45:12.133 に答える
0

Safari で外部リンクを開くには、In App Browser プラグインが必要です

https://github.com/apache/cordova-plugin-inappbrowser/blob/master/doc/index.md

これを window.open(encodeURI(" https://google.com "), "_system"); と呼びます。

「_blank」は、アプリ内のモーダル ブラウザにロードします。

于 2014-05-01T05:11:50.793 に答える
0

を削除する必要があると思いますencodeURI()。これは、// をエンコードして URI の形式が不正になる可能性があるためです。

于 2013-10-17T20:45:20.697 に答える
0

試す:

window.open('http://google.com', '_system', 'location=no');

私にとってはうまくいきます。

于 2014-06-30T22:30:23.060 に答える