Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/115.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Cordova InAppBrowser事件侦听器不在ios上工作_Javascript_Ios_Cordova_Cordova Plugins_Inappbrowser - Fatal编程技术网

Javascript Cordova InAppBrowser事件侦听器不在ios上工作

Javascript Cordova InAppBrowser事件侦听器不在ios上工作,javascript,ios,cordova,cordova-plugins,inappbrowser,Javascript,Ios,Cordova,Cordova Plugins,Inappbrowser,在iPhone7设备或模拟器上运行时,inappbrowser会成功打开,但不会调用eventlisteners。下面的代码在android上运行良好。 我正在开发cordova 6.5.0,inappbrowser插件的版本是1.6.1。我目前正在mac osx 10.12.2上工作 function redirect () { if (isloggedin){ navigator.notification.alert("You are already logged in");

在iPhone7设备或模拟器上运行时,inappbrowser会成功打开,但不会调用eventlisteners。下面的代码在android上运行良好。 我正在开发cordova 6.5.0,inappbrowser插件的版本是1.6.1。我目前正在mac osx 10.12.2上工作

function redirect () {
  if (isloggedin){
    navigator.notification.alert("You are already logged in");
  } else {
    var url = "https://connect.stripe.com/oauth/authorize?response_type=code&client_id=CLIENT_ID&scope=read_write";
    var target = "_system";
    var options = "location=yes, hidden=no, clearcache=yes";
    browserRef.addEventListener('loadstart', function(event) {
      if ((event.url).indexOf("https://example.com") !== -1) {
        var redirectedURI = event.url;
        registerUser(redirectedURI);
        browserRef.close();
      }
    });
  }
}
这是一个导航器通知的图像 我非常乐意提供更多信息,比如我的config.xml。 非常感谢您的帮助,谢谢

编辑:每当我尝试在重定向函数的末尾添加browserRef.close()时,我都会从xcode“IAB.close()调用但它已经关闭”中得到一个错误。我也尝试过window.open(),但没有成功

编辑2:单击此按钮将调用重定向功能

<a href="#" onClick="redirect();">Online Payments</a>

好的,在尝试了几件事情之后,这对我来说是有效的。我测试了在不同的目标上触发所有四个可能的inappbrowser事件。这些事件的唯一回击目标是“空白”

我还注意到:出于某种原因,“loadstart”只能在“\u self”上运行


虽然我已经解决了这个问题,但如果有人能提供一些关于为什么会发生这种情况的见解,我很乐意提供有关我的代码/构建的更多细节。

我遇到了同样的问题,发现了同样的行为,在这个主题上有什么进展吗?@Orion390不太好,抱歉。希望你能找到答案。最后,我没有使用AppBrowser,而是将网站放在cordova内部的iframe中,这样在显示网站时,一切都可以正常工作(但要注意很多其他东西,比如网站的X-Frame选项),希望它能帮到别人。
browserRef.addEventListener('loadstart', function(event) { navigator.notification.alert(event, event.url); });
browserRef.addEventListener('loadstop', function(event) { navigator.notification.alert(event); });
browserRef.addEventListener('loaderror', function(event) { navigator.notification.alert(event, event.code, event.message); });
browserRef.addEventListener('exit', function(event) { navigator.notification.alert("exit"); });