簡體   English   中英

Cordova InAppBrowser EventListeners 不適用於 ios

[英]Cordova InAppBrowser EventListeners not working on ios

在 iphone 7 設備或模擬器上運行時,inappbrowser 成功打開,但從未調用事件偵聽器。 下面的代碼在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();
      }
    });
  }
}

這是導航器通知的圖像,其中包含有關 browserRef 的信息。 我非常樂意提供更多信息,例如我的 config.xml。 非常感謝任何幫助,謝謝。

編輯:每當我嘗試在重定向函數的末尾添加 browserRef.close() 時,我都會收到來自 xcode 的錯誤“IAB.close() 調用,但它已經關閉”。 我也試過 window.open() 沒有任何成功。

編輯 2:單擊此按鈕時調用重定向功能

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

好的,所以在嘗試了幾件事后,這對我有用。 我測試了在不同目標上發射所有四個可能的inappbrowser事件。 這些事件將被擊退的唯一目標是“_blank”。

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"); });

我注意到的其他事情:由於某種原因,“loadstart”只會在“_self”上運行。

雖然我已經解決了這個問題,但如果有人能夠提供一些有關為什么會發生這種情況的見解,我很樂意提供有關我的代碼/構建的更多詳細信息。

問題是我的iOS平台不是最新的。

因此,當您使用cordova開發應用程序時,請確保您的平台版本和插件是最新的操作系統升級版本。

所以我所要做的就是

刪除iOS平台。

Cordova平台rm ios

添加iOS平台 - 最新版本

cordova平台添加ios

刪除插件cordova-plugin-inappbrowser

cordova插件刪除cordova-plugin-inappbrowser

添加插件cordova-plugin-inappbrowser - 最新版本

cordova插件添加cordova-plugin-inappbrowser

https://guntucomputerhacks.blogspot.com/2019/07/cordova-inappbrowser-eventlisteners-not.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM