Разрыв в телефоне 3.0 + sencha touch открытые URL-адреса в браузере устройств

Создаем приложение для Android, используя sencha touch + phonegap 3.0, требование открыть некоторые URL-адреса во внешнем браузере. Для Ios я использую Ext.device.Device.openURL (url) и его работоспособность. Но в андроиде, когда я нажимаю ссылку, он открыт в моем приложении.

Что я пытался

window.open(url, '_system', 'location=no'); // not worked still opens the in app view window.open(alltaskurl, '_blank', 'location=yes'); // not worked opens in app view 

Затем я установил плагин PhoneGap InAppBrowser и попытался изменить файл config.xml

  <feature name="InAppBrowser"> <param name="android-package" value="org.apache.cordova.InAppBrowser" /> </feature> window.open('http://apache.org', '_blank', 'location=yes'); // not worked as well 

Я не знаю, что с этим делать, я трачу много времени, чтобы решить эту проблему, пожалуйста, помогите мне .. спасибо заранее

После установки InAppBrowser используйте:

 window.open(url, '_system'); 

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

 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 } 

Edit: используется window.open () вместо Android navigator.app.loadUrl (). Мне также пришлось отсеять события href = "#".

Я сделал это со следующим кодом

  navigator.app.loadUrl(url, {openExternal: true}); 

Я получил его с одного из форумов sencha

Intereting Posts