2013-06-03 99 views
0

我已經部署了帶sencha touch + phonegap的本機應用程序android + ios。 如果我們點擊應用程序內的鏈接,它會在應用程序內打開,我們不能出去。Sencha with phonegap本機打開外部鏈接

現在有人可以讓鏈接打開到手機瀏覽器嗎?

回答

0

我用的phonegap版本是2.9.0,如果我沒有弄錯的話。

我有同樣的問題,並解決它,如下所示:

嵌入JQuery的JavaScript文件在您的項目。在我的情況是:

<script type="text/javascript" charset="utf-8" src="js/jquery-1.10.2.min.js"></script>

然後我寫了下面的功能,這是我在onDeviceReady函數調用:

function enableHttpLinks() { 
     $('.externalLink').click(function(e) { 
      e.preventDefault(); 
      url = $(this).attr("href"); 
      window.open(url, '_system'); 
     });    
    } 

爲了讓此功能工作,你有一個分配類externalLink所有要在設備瀏覽器中打開,鏈接如下圖所示:

<a href="..." class="externalLink">your link title</a>

好運...

0

只需添加這個功能裏面的「啓動」功能,這樣在app.js:

launch: function() { 
    // Destroy the #appLoadingIndicator element 
    //Ext.fly('appLoadingIndicator').destroy(); 

    // Initialize the main view 
    Ext.Viewport.add(Ext.create('yourApp.view.Main')); 

    // Voila : 
    Ext.Viewport.element.dom.addEventListener('click', function (e) { 
     if (e.target.tagName !== 'A') { 
      return; 
     }; 

     var url = e.target.getAttribute('href'); 
     var containsHttp = new RegExp('http\\b'); 

     //if href value begins with 'http' 
     if(containsHttp.test(url)) { 
      e.preventDefault(); 
      window.open(url, "_system"); // For iOS 
      navigator.app.loadUrl(url, {openExternal: true}); //For Android 
     } 
     else { 
      return; 
     } 
    }, false); 
}, //... 

然後你可以在同一時間建立Android和iOS。

相關問題