Xamarin Android端SSO登录时Web浏览器报404资源未找到问题求助
Xamarin Android SSO登录404及JavaScript依赖问题解决
问题现象
执行SSO登录操作时,Web浏览器返回「status 404, resource not found」错误,日志中捕获到如下内容:
EVENT - "
解决步骤
启用WebView的JavaScript支持
Xamarin Android的WebView默认未开启JavaScript,需在初始化阶段配置:var webView = FindViewById<WebView>(Resource.Id.webView); webView.Settings.JavaScriptEnabled = true; // 针对复杂SSO页面,额外启用DOM存储和JS弹窗支持 webView.Settings.DomStorageEnabled = true; webView.Settings.JavaScriptCanOpenWindowsAutomatically = true;校验SSO授权地址的正确性
404错误大概率是跳转的授权端点URL存在问题:- 检查URL路径、参数拼写是否完整正确
- 确认测试/生产环境的地址配置未混淆
添加WebView异常监控与修复
自定义WebViewClient捕获加载错误,并手动处理noscript元素:webView.SetWebViewClient(new CustomWebViewClient()); private class CustomWebViewClient : WebViewClient { public override void OnReceivedError(WebView view, IWebResourceRequest request, WebResourceError error) { base.OnReceivedError(view, request, error); // 记录错误详情用于排查 Log.Error("SSOLoadError", $"错误码: {error.ErrorCode}, 描述: {error.Description}"); } public override void OnPageFinished(WebView view, string url) { base.OnPageFinished(view, url); // 强制隐藏noscript提示 view.EvaluateJavascript("document.getElementById('noScript').style.display = 'none';", null); } }更新系统WebView组件
低版本Android System WebView可能存在JS兼容性缺陷,引导用户在应用商店更新该组件至最新版本。
内容的提问来源于stack exchange,提问作者i atc
相关产品推荐
相关产品推荐

