2016-03-14 2 views
0

Я пытаюсь открыть веб-браузер системы на определенную страницу, но я не могу заставить ее работать вообще. Я установил cordova-plugin-inappbrowser 1.2.1, и для открытия системного браузера я делаю следующий вызов window.open("https://google.com","_system"). Случается, что вначале ничего не происходит, и через пару секунд страница отображается поверх моего приложения (внутри приложения) без возможности закрыть страницу. Как открыть системный браузер, а не открывать ссылку в одном приложении?Ionic не может открыть веб-страницу в системном браузере

+0

Может быть, вы могли бы попробовать использовать 'cordova.InAppBrowser.open («https://google.com», «_system», «location = yes») 'в обратном вызове устройства. –

ответ

0
$scope.openWebBrowser = function() { 
    var iabRef = null; 
    document.addEventListener("deviceready", onDeviceReady, false); 
    // Global InAppBrowser reference 
    function iabLoadStart(event) { 
     // alert(event.type + ' - ' + event.url); 
    } 

    function iabLoadStop(event) { 
     // alert(event.type + ' - ' + event.url); 
     // spinnerplugin.hide(); 
    } 

    function iabLoadError(event) { 
     // alert(event.type + ' - ' + event.message); 
    } 

    function iabClose(event) { 
     // alert(event.type); 
     iabRef.removeEventListener('loadstart', iabLoadStart); 
     iabRef.removeEventListener('loadstop', iabLoadStop); 
     iabRef.removeEventListener('loaderror', iabLoadError); 
     iabRef.removeEventListener('exit', iabClose); 
    } 

    function onDeviceReady() { 
     // spinnerplugin.show(); 
     // var sedlId = localStorage.getItem('sedlId'); 
     // var userId = localStorage.getItem('userId'); 
     // iabRef = window.open('http://xyz/xyz.php?schedule_id=' + sedlId + '&user_id=' + userId + '', '_blank', 'location=no,toolbar=no'); 
     iabRef = window.open('http://xyz/xyz.php?', '_blank', 'location=no,toolbar=no'); 
     iabRef.addEventListener('loadstart', iabLoadStart); 
     iabRef.addEventListener('loadstop', iabLoadStop); 
     iabRef.removeEventListener('loaderror', iabLoadError); 
     iabRef.addEventListener('exit', iabClose); 
     iabRef.addEventListener('loadstart', function(event) { 
      // var checkurlstring = event.url; 
      // var checkbookid = checkurlstring.substring(20, 100); 
      // localStorage.setItem('bookId', checkbookid); 

      if (event.url.match("mobile/close")) { 
       iabRef.close(); 
       // $state.go('app.bordingUserPg'); 
      } 
     }); 
    } 
} 
0

В настоящее время я работаю над приложением cordova. У меня также есть cordova-plug-inappbrowser (1.2.1). С помощью этого плагина, вы можете открыть

стандартных страниц, таких как "www.google.com" по телефону

window.open("www.google.com", "_system", "location=yes"); 

социальных страниц средств массовой информации, как Facebook, Twitter и т.д. после проверки приложение-Availabilty

С помощью вышеупомянутой команды приложение открывает ссылку на новом окне/вкладке моего браузера.

Где вы тестировали свой код? В браузере на вашем ПК или на самом устройстве? Установлено ли на устройстве установленное приложение-браузер?

0

Я не знаю, решена ли ваша проблема, и я использую ее в своем проекте недавно.

  1. плагин cordova add cordova-plugin-inappbrowser (версия 1.4.0);
  2. контроллер: window.open (partInfo.partner.link, '_system', 'location = yes');
  3. проверить на android.json и config.xml файлы ли успех конфигурации после установки;
  4. также, если вы строите проект, хотя Android Studio, вы бы лучше, чтобы проверить этот плагин в Android -> Java -> org.apache.cordova
+0

partInfo.partner.link - ваша целевая ссылка –

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