You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 14:35:23