2013-11-29 4 views
3

Я пытаюсь открыть ссылку в родном браузере или другом внешнем браузере из своего приложения, но я могу открыть его только в браузере приложений.Открыть ссылку во внешнем браузере с Android с помощью cordova

Я имею inappbrowser установлен, как указано здесь:

cordova.apache.org/docs/en/3.0.0/cordova_inappbrowser_inappbrowser.md.html#window.open

Я называю окно браузера, как это: window.open ("http://yourmindandmedia.com", '_system');

результат такой же, как если бы я это сделал: window.open ("http://yourmindandmedia.com", '_blank');

Когда я нажал кнопку возврата устройства, мое приложение полностью вымыто, не отображая графики и не поддерживая никаких событий. Я также пробовал это:

navigator.app.loadUrl ("yourmindandmedia.com", {openExternal: true});

к тем же результатам.

Эти примеры выполняются в среде Android, но я буду реализовывать и в iOS. В идеале решения идентичны.

Заранее спасибо.

ответ

4

Вот код, который я использую до тех пор, пока кордова работает как раньше. Как вы можете видеть, это метод, который вы уже пробовали. Попробуйте cordova plugin -l, чтобы убедиться, что у вас есть inappbrowser. Я установил через: cordova plugin add org.apache.cordova.inappbrowser, который немного отличается от старых инструкций. Я использую Cordova V3.2.

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 
} 

Первоначально у меня был navigator.app.loadUrl(), но он определен для Android.

+0

Это не работает с моим приложением – Kingalione

+0

Теперь inappbrowser работает для моего проекта. Мне пришлось обновить плагин inappbrowser, затем пришлось обновить Android и обновить кордову и затмение, чтобы все сработало. –

Смежные вопросы