2013-07-16 81 views
0

我有thath從REST API的一些HTML內容我顯示在一個HTML窗口部件檢索JSON的應用程序,我需要檢索之外的應用程序對系統的瀏覽器中打開所有這些環節,主要是由於到內部的應用程序是非常緩慢打開,我的應用程序被鎖定到肖像,鏈接應在景觀上查看。打開在系統瀏覽器中的任何現有LINK

我的應用程序從一個REST API獲取數據,並顯示HTML內容,但我沒有關於獲取的此HTML鏈接控制,在

在一些窗口的形式,我一直在使用一些按鈕使用_system參數打開window.open並且它的工作方式像一個魅力,但我們需要的解決方案是一種指定應該在應用程序之外打開的所有鏈接的方法,因爲我們無法控制檢索到的HTML內容的鏈接。

問候。

回答

0

除非我誤解了這個問題,這不是默認的Android行爲嗎?我的印象是鏈接將在系統默認瀏覽器(不是您的應用)中打開,除非您明確告訴您應用處理這種活動。

+0

否。默認情況下,鏈接在phonegap應用程序的相同webview中打開。多一點調查,鏈接失敗是PDF鏈接。我問IRC phonegap頻道,似乎PDF鏈接不能在Android下管理。我的意思是,它假設應該在iOS下工作,但在Android下行爲是不一樣的,我需要做一個window.open(鏈接,「_system」)給系統瀏覽器打開這個文件的責任。 – Giu

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 
} 

我希望科爾多瓦會安定下來了一下,舊的技術(目標=「_系統」)就足夠了在這種情況下,你可能只需要使用<base target="_system">設置默認。 3.0之前的非白名單鏈接都很好。現在上述是我所能做的。

相關問題