apache / cordova-plugin-inappbrowser

Apache Cordova InAppBrowser Plugin
https://cordova.apache.org/
Apache License 2.0
1.11k stars 2.14k forks source link

"browser.on('loaderror')" does not work properly on iOS. #1041

Open labarro opened 5 months ago

labarro commented 5 months ago

Bug Report

Problem

"browser.on('loaderror')" does not work properly on iOS.

What is expected to happen?

I have a function to handle the loaderror of my page; this function calls another function and then closes the browser:

MyCode:

const authUrl = ${authorizationEndpoint}? + client_id=${clientId}& + redirect_uri=${redirectUri}& + response_type=${responseType}& + scope=${scopes.join(' ')}& + code_challenge=${codeChallenge}& + 'code_challenge_method=S256';

      const browser = this.inAppBrowser.create(authUrl, '_blank', {
        location: 'yes',
        hidenavigationbuttons: 'yes',
        hideurlbar: 'yes',
      },); 
      browser.on('loaderror').subscribe(event => {
            this.MyFunction();
            browser.close();
        });

What does actually happen?

The load error message appears on my screen, but the function is not executed: image

Information

The same code works perfectly on Android, but on iOS, it freezes on the load error screen.

Environment, Platform, Device

iOS: 16.6.1 Device: iPhone XR

Version information

@ionic/cli@6.20.1 cordova@11.1.0 ios-deploy@1.12.1 cordova-plugin-inappbrowser@3.2.0

Checklist