3

sencha touch + phonegap 3.0 を使用して Android アプリを構築しています。外部ブラウザーでいくつかの URL を開く必要があります。Ios では Ext.device.Device.openURL(url) を使用しており、正常に動作しています。しかし、Androidでリンクをクリックすると、アプリビューで開きます..

私が試したのは

window.open(url, '_system', 'location=no'); // not worked still opens the in app view

window.open(alltaskurl,  '_blank', 'location=yes'); // not worked opens in app view 

次に、InAppBrowser phoneGap プラグインをインストールし、config.xml ファイルを変更してみました

   <feature name="InAppBrowser">
        <param name="android-package" value="org.apache.cordova.InAppBrowser" />
    </feature>

window.open('http://apache.org', '_blank', 'location=yes'); // not worked as well 

これをどうしたらよいかわかりません。この問題を解決するために多くの時間を費やしています。助けてください..事前に感謝します

4

3 に答える 3

2

ありがとうディビッシュ..あなたは私を正しい軌道に乗せました。私は独自のhrefのいくつかを行うライブラリを使用しているので、そのライブラリをいじるのを避けるために、代わりにこれを行いました:

window.onclick = clickEvent;

function clickEvent(e){
    e = e || window.event;
    var t = e.target || e.srcElement
    if ( t.name || t.href ){
       if( typeof t.href == "string" && t.href.substr(0,4) == 'http' ){
           if( t.attributes.href.value !== "#" ){
               window.open(t.href, '_system', 'location=yes');
           }
           return false; // no further action for this click
       }
    }
    return true; // process click as normal
}

編集: Android 固有の navigator.app.loadUrl() の代わりに window.open() を使用しました。また、 href="#" の出現を除外する必要がありました。

于 2013-12-03T10:28:56.070 に答える