diff --git a/wifi/application/portal_login/entry/src/main/ets/pages/Index.ets b/wifi/application/portal_login/entry/src/main/ets/pages/Index.ets index e52b5da5e49b58f0f20708b4019b85b936ae0872..aa72237c8e654da82bda7d09ce7c72aa23eca920 100644 --- a/wifi/application/portal_login/entry/src/main/ets/pages/Index.ets +++ b/wifi/application/portal_login/entry/src/main/ets/pages/Index.ets @@ -304,6 +304,19 @@ struct Index { .fileAccess(false) .geolocationAccess(false) .domStorageAccess(true) + .onOverrideUrlLoading((request) => { + const url = request.getRequestUrl(); + if (!url.startsWith('http') && !url.startsWith('https')) { + (this.getUIContext().getHostContext() as common.UIAbilityContext).openLink(url) + .then(() => { + hilog.info(DOMAIN, TAG, 'open link success.'); + }).catch((err: BusinessError) => { + hilog.error(DOMAIN, TAG, `open link failed. Code is ${err.code}, message is ${err.message}`); + }) + return true; + } + return false; + }) .onConsole((event) => { return true; })