1

これは多くの質問を受けていることは知っていますが、ここで見つけることができるほとんどすべてを試しましたが、何も役に立ちません。ネイティブ iOS ブラウザで「外部」クラスのリンクを開きたいのですが、管理できません。これが私が試したものです:

$('.external').live('click', function(event) {  
    event.preventDefault();                      
    var url = $(this).attr('href');             
    loadURL(url);                               
})   

function loadURL(url){
    var ref = window.open(url, '_system');
}

phonegap のドキュメントの時点で、システム webbrowser でリンクを開く必要がありますが、リンク先に関係なく、常に InAppBrowser を使用します。また、config.xml で「OpenAllWhitelistURLsInWebView」を false に設定しました。変化なし。

4

1 に答える 1

1

クリック ハンドラーが実際に呼び出されていることを再確認できますか? イベント ハンドラーをアタッチするコードを間違った場所 (つまり、onDeviceReady() 内) に配置すると、クリック ハンドラーは呼び出されません) -> リンクは常にアプリ内で開かれます。また、「.live」がjquery 1.9で削除されたため、jquery「.on」を使用しています。テストに使用していたもの。

Cordova 2.4.0 で次のコードをテストしたところ、動作しました。重要なコードの抜粋を次に示します。

HTML 部分:

  <a class=".external" href="http://www.google.com">Go to external page</a>

JAVASCRIPT 部分:

    function loadURL(url){
        var ref = window.open(url, '_system');
    }

    $(function(){

      $('.external').on('click', function(event) {
         event.preventDefault();
         var url = $(this).attr('href');
         loadURL(url);
      });

    });
于 2013-02-25T13:06:49.053 に答える