0

HTMl ウィジェットに表示するいくつかの HTML コンテンツを使用して REST API から json を取得するアプリケーションがあり、取得したすべてのリンクを取得して、システム ブラウザーでアプリケーションの外部で開く必要があります。私のアプリは縦向きにロックされており、リンクは横向きに表示する必要があります。

私のアプリは REST API からデータを取得し、HTML コンテンツを表示しますが、取得したこの HTML のリンクを次の形式で制御することはできません。

一部のウィンドウでは、window.open を _system パラメータで使用するボタンがいくつかあり、それは魅力的に機能していますが、必要な解決策は、リンクを制御していないため、すべてのリンクをアプリの外部で開く必要があることを指定する方法です。取得した HTML コンテンツの数。

よろしく。

4

2 に答える 2

0

私が質問を誤解していない限り、これはデフォルトの Android の動作ではありませんか? そのようなアクティビティを処理するようにアプリに明示的に指示しない限り、リンクはシステムの既定のブラウザー (アプリではなく) で開くという印象を受けました。

于 2013-07-16T17:08:32.177 に答える
0

同様の質問に対する私の答えは、ここでさらに適切なので、繰り返します: アイデアは、クリックを傍受し、「http」で始まるすべてのリンクに作用することです。

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
}

Cordova が少し落ち着き、古い手法 ( target="_system" ) で十分になることを願って<base target="_system">います。その場合、デフォルトを設定するだけで十分です。3.0 より前のホワイトリストに登録されていないリンクは問題ありませんでした。今、上記は私のために働くすべてです。

于 2013-12-03T10:53:49.387 に答える