iOS 上未收听 ngCordova Inappbrowser 事件

ngCordova Inappbrowser events not being listened on iOS

我已成功完成 Ionic Android 申请。现在,我正在将其迁移到 IOS。但是,inAppbrowser 事件根本没有 called/listened。

我使用 ngCordova 访问在 Android 中运行良好的 inappbrowser。 在 iOS 中,inappbrowser 打开,但之后没有事件侦听器被触发。在模拟器和设备上都试过了。 我在模拟器上看到的唯一警告是

testv2[808:134364] THREAD WARNING: ['InAppBrowser'] took '45.421875' ms. Plugin should use a background thread.

这是我的应用程序版本:

$cordova -v
v6.5.0
$ionic -v
v2.2.1
iOS version - 10.12.2 (16C67)     

请帮忙。

**注意:我是 IOS 的新手。

首先我补充说,

<access-origin="*"/>
<allow-navigation href="*" /> 

然后,在我的 html、

<ion-view view-title="Playlists">
 <ion-content>
  <button ng-click="openBrowser()">Click me</button>
 </ion-content>
</ion-view>

在播放列表控制器中,

.controller('PlaylistsCtrl', function($scope,$cordovaInAppBrowser,$rootScope) {
 $scope.openBrowser = function() {
// body...
 var options = {
  location: 'yes',
  clearcache: 'yes',
  toolbar: 'yes'
};

document.addEventListener("deviceready", function () {
$cordovaInAppBrowser.open('http://ngcordova.com', '_system', options)
  .then(function(event) {
    // success
  })
  .catch(function(event) {
    // error
  });


$cordovaInAppBrowser.close();

 },    false);

 $rootScope.$on('$cordovaInAppBrowser:loadstart', function(e, event){
   alert(loadstart);
   console.log("loadstart");

 });

$rootScope.$on('$cordovaInAppBrowser:loadstop', function(e, event){
  alert(loadstop);
  console.log(loadstop);  

// insert Javascript via code / file

 });

 $rootScope.$on('$cordovaInAppBrowser:loaderror', function(e, event){
   alert("loaderror");
   console.log("logerror");
 });

 $rootScope.$on('$cordovaInAppBrowser:exit', function(e, event){

 });

通过简单的window.open方法解决了

 var ref = window.open(url, '_blank','clearcache=yes,location=no,toolbar=yes');

ref.addEventListener('loadstart', handleEvents, false);
ref.addEventListener('loadstop', handleEvents, false);
var handleEvents =  function(event) {}