14

phonegap(cordova 2.2)を使用します

私はこのようなリンクを持っています:

<a href="http://twitter.com/foobar" target="_blank">twitter</a>

iOSの場合-ブラウザ(Safari)でリンクを開きます

しかし、Androidでは-webview内(私のphonegapアプリ内)で開きます

AndroidをiOSと同じように機能させる方法はありますか?

4

9 に答える 9

27

これが、AndroidでCordova2.2とjQuerymobileを使用して動作させる方法です。

Javascript:

$('.link').live('tap', function() {
    url = $(this).attr("rel");   
    loadURL(url);
});

function loadURL(url){
    navigator.app.loadUrl(url, { openExternal:true });
    return false;
} 

html:

<a href='#' class='link' rel='http://www.someurl.com'>Go Somewhere</a>
于 2012-12-31T04:38:47.050 に答える
6

アンドロイドのためにこれを試してください:

function loadURL(url){
    navigator.app.loadUrl(url, { openExternal:true });
    return false;
} 

HTML:

<a click="loadURL('http://twitter.com/foobar')">twitter</a>

あなたはまたあなたのでこれを試すことができますconfig.xml

<access origin="*twitter.com" browserOnly="true"/> 
于 2012-12-28T14:24:42.157 に答える
4

user1879822によって提供されたリンクは、実際には私にとって最も有用なものでした:https ://build.phonegap.com/blog/access-tags

要約すると、PhoneGapのconfig.xml内に許可されたURLのホワイトリストがあります。これは、このようなエントリがある場合を意味します...

<access origin="*" />

...独自のWebビュー内のすべてのリンクを開こうとします。ただし、ホワイトリストを特定のURLのみに制限すると、そのリストにないURLへのリンクは、ローカルWebビュー内ではなく、外部ブラウザで自動的に開きます。たとえば、これだけに制限すると...

<access origin="http://127.0.0.1*" />

...その後、元の質問で言及されたTwitterリンクが新しい外部ブラウザで開くはずです。

于 2013-06-01T19:59:48.333 に答える
3

iosバージョンのように、target="_blank"属性を使用して使用する場合:

$(document).on('tap', 'a[target="_blank"]', function(e){
    navigator.app.loadUrl(e.target.href, { openExternal: true });
    return false;
});
于 2013-03-20T12:31:11.993 に答える
1

私はこれを原則として使用します:

$('a').live('tap',function(e){
    // if external link then open a browser
    if(String($(this).attr('href')).substring(0,4)=='http' || String($(this).attr('href')).substring(0,5)=='https'){
        navigator.app.loadUrl($(this).attr('href'), { openExternal:true });
        e.stopPropagation();
        return false;
    }
});
于 2013-02-22T07:43:01.073 に答える
1

私はまったく同じ問題を抱えていましたが、ほとんどの答えが異なるプラットフォームで混同されていることに気づきました。私にとって解決策は、さまざまなプラットフォームの詳細な説明です。

于 2013-04-11T05:22:10.813 に答える
1

この質問が少し前に尋ねられたとしても、私は私を助けた次のblodエントリについてあなたに知らせたいと思いました:

https://build.phonegap.com/blog/access-tags

Androidでは、指定したドメインのホワイトリストを解除するだけで済みました。したがって、私のconfig.xmlには`がまったくありません。

于 2013-06-10T12:23:16.613 に答える
0

これはiOSで私のために働いた

                    $("a[target='_blank']").on('tap touch click',function(e){
                        e.stopPropagation();
                        e.preventDefault();
                        window.open($(this).attr('href'), "_system");
                        return false;
                    });
于 2013-05-15T09:26:12.487 に答える
0

phonegapのナビゲーターが機能します!

handler: function (btn, evt) {
loadURL('http://www.google.com');
}

..。

function loadURL(url){
navigator.app.loadUrl(url, { openExternal:true });
return false;
} 
于 2013-11-27T17:10:41.040 に答える