开发者社区> 问答> 正文

钉钉打开特定网页应用时显示白屏

我的需求

现已有一个第三方开发的网页应用,希望能够在钉钉内部直接打开。

遇到的问题

已经用多种方式做了测试,该网页应用打开均白屏

1. 自建企业内部应用H5应用

我在 应用能力-网页应用-H5应用配置信息 设置了应用首页地址。但是发现手机端和电脑端钉钉打开应用都是白屏。

2. 自建企业内部应用小程序

使用了 <web-view> 嵌入网页,手机扫码预览调试还是显示白屏,调试控制台没有显示什么有用的信息。

3. 直接钉钉聊天窗口发送网页连接

还是白屏。

补充其他尝试

  1. 钉钉浏览其他网页/自建企业内部应用部署其他网站均正常。

  2. 白屏的网页,在其他应用的内置浏览器中正常(微信、微信公众号、企业微信、飞书、QQ、微博均可以直接在APP内置浏览器正常打开该网页)

再次补充

因为是第三方web应用,拿不到服务器,所以自己用nginx反向代理了一下,然后对反向代理的网站又做了以下尝试:

  • 首先反代的地址,依旧是微信、微信公众号、企业微信、飞书、QQ、微博均可以直接在APP内置浏览器正常打开

  • 反向代理的时候加了Access-Control-Allow-Origin:* ,不起作用。

  • NGINX日志里面看到来自钉钉的请求的UserAgent如下,所以手机下载了100.0.4896.58的chrome浏览器,是可以正常访问的。

UserAgent: Mozilla/5.0 (Linux; U; Android 14; zh-CN; 23013RK75C Build/UKQ1.230804.001) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/100.0.4896.58 UWS/5.11.2.0 Mobile Safari/537.36 AliApp(DingTalk/7.5.20) com.alibaba.android.rimet/36584141 Channel/700159 language/zh-CN abi/64 xpn/xiaomi UT4Aplus/0.2.25 colorScheme/light

展开
收起
1357013770935819 2024-05-18 07:53:55 1804 0
3 条回答
写回答
取消 提交回答
  • 问题解决。

    该web应用直接在js里面用

    window.navigator.userAgent.toLowerCase();
    

    查UA,然后调用SDK,但是不知道为什么它调的钉钉的SDK就有问题。

    最终解决方案是,整站来个反代,然后给指定js资源转发到我修改过后的js资源,问题解决。

    2024-05-22 09:54:51
    赞同 50 展开评论 打赏
  • 典型的浏览器不兼容,建议可以使用钉钉小程序开发工具,内嵌浏览器试试找找原因

    2024-05-18 15:29:52
    赞同 49 展开评论 打赏
  • 北京阿里云ACE会长

    如果网页应用和钉钉服务器不在同一个域下,可能会遇到跨域资源共享(CORS)的问题。确保网页服务器正确设置了CORS策略,允许来自钉钉的请求。

    HTTPS配置:钉钉要求所有内嵌网页都必须使用HTTPS协议。请检查你的网页应用是否部署在HTTPS上。

    2024-05-18 10:03:41
    赞同 47 展开评论 打赏
来源圈子
更多
收录在圈子:
+ 订阅
问答排行榜
最热
最新

相关电子书

更多
钉钉小程序——为工作方式插上翅膀 立即下载
钉钉客户端自动化的应用 立即下载
使命必达 —— 钉钉企业级 消息服务的机遇与挑战 立即下载