钉钉是浏览器套壳吗
事情起因:群里前端说有个问题,就是输入框在输入中文时,如果做了长度限制,那么此时输入中文拼音,正常情况下会导致拼音无法正常输入,因为 web 上的文本框里,输入法打的字都会先以拼音形式出现在文本框里,再按空格之后再转换为汉字替换现在文本框中。
发现在 web 上如此,为什么 windows 不会呢?试了所有 QQ,微信,TG 等等常用客户端软件,都是打了字,输入框里并不会出现字,而是选择了之后直接出现在输入框里。
只有伟大的钉钉,表现和浏览器一模一样。
试了一些小众或者个人开发的客户端软件,也是和 QQ 这些一样,说明在 windows 客户端上,这应该是个很轻松 easy 的功能,所以猜测钉钉其实是个浏览器套壳。
我的 web 不会有这种问题
不一定什么载体都有可能出这个问题,单纯是个逻辑性 bug,限制长度的方法不止一个,你说的这种最省事也最容易触发这个 bug
Mac 的客户端都是啊。。。
你猜的对,钉钉至少有一段时期是通过这种技术栈实现的。更别说现在大量功能一看就是网页了。
那按照你的逻辑王者荣耀也是浏览器套壳咯
是浏览器
刚刚的截图,不知道为什么要用这玩意办公。
局部使用也是常见做法
可能是用的类似 electron 这种技术吧
cef
好像是一个类似 electron 的库,所以各种卡顿各种 bug 。
这么多人不知道 cef 吗
出了 Linux 版,不必 wine 了。
钉钉桌面客户端很难用,体验很差,
只有手机端 app 可以用。
收回上面这句话,
应该是不知道为什么 windows 版钉钉很难用,老是页面卡着不动,
linux 版钉钉还行
不是。
有个开源版的是基于 electron 的。钉钉目前自家的应该应该也不是。
(我说的是 LINUX 版的)
钉钉没研究过,但微信就是跑 nodejs,开发者工具和企业微信一样。
我觉得没必要在乎它用什么写...
而你们前端提到的我觉得和是否 web 形式毫无关联...
在 web 中本来就没有限制字数的功能( textarea ),
都是靠 JS 来实现的,
JS 绑定的触发不同,实现出来的逻辑表现就不同;
比方我绑定 onChange/input 时,输入的时候就会出现你提到的问题。
但是如果我绑定的是 blur,那就不会出现这个问题。
官网无,在哪里下载啊?
win 版钉钉经常性内存占用过高,我觉得有内存泄露方面的 bug
只能说是嵌了一个浏览器,部分功能是用 web 实现的
electron
dtapp-pub.dingtalk.com/dingtalk-desktop/xc_dingtalk_update/linux_deb/Release/com.alibabainc.dingtalk_1.0.0.294_amd64.deb
基于 electron
这个推理不对,照这么说 word 也是 web 套壳了……
浏览器这样表现 不代表 这样表现的都是浏览器
小程序显然是在容器里边,app 本身是原生的
虽然你的结论我支持,但是推理逻辑不是很支持。。。
钉钉就是套的 CHROME 。我观察过进程。PC 端占用内存巨大,甚至能到 2 ~ 3 个 G 的内存。
看相关文件可以很容易得知,钉钉既用了 duilib 也用了 cef 。
对,我也发现这个问题。PC 端一开,电脑内存消耗好几个 G
在安装目录翻一翻不就知道是啥了嘛
不知道有没有钉钉开发人员看到这个帖子。windows 端占有内存巨大,影响客户机性能的问题啥时候解决下?
不会吧?不会吧?还有人不是 32G 内存?
PC 微信打字也是先出拼英再出文字的
主体是 nw.js
哈哈哈,ZF 采购的电脑,限价导致低配。客户天天吐槽。
手动 re 25 26 27.
某些部件有调用 HTML5 页面,特别是同特定组织相关的。
混合架构,有 H5 也有 Native 和小程序
钉钉早期是用 NW.JS 现在不知道
我的输入法是可以自己选择的,选项叫 inline_preedit,可以选输入框里不显示,或者显示拼音或别的输入码,或者显示转换好的字(第一个候选项)
github.com/duilib/duilib
钉钉用的是这个吧
阿里系的 app 没几个能打的,除了淘宝。
原来魔兽世界是浏览器套壳
厉害了呀,什么时候 Google 和 Mozilla 能有暴雪一半的技术力优化一下浏览器运行效率就好了(笑
钉钉没用过,所以不讨论你主题。
但是起因我知道,浏览器里设置 input 长度,默认的 onChange 打拼音的时候也会触发。这种应该用 CompositionEvent 这个事件 developer.mozilla.org/zh-CN/docs/Web/API/CompositionEvent, 就能达到你说的 windows 的效果
nwjs.io/ 用的这个吧
别的界面不清楚,钉钉群直播的那个界面是 WEB 。为什么?我中间人插入过 JS,并执行了。
钉钉用的 cef,至于输入法这个,要看窗口具体实现,可以显示输入过程也可以只显示结果
偶然发现,windows 上用 ProcessExplorer (docs.microsoft.com/en-us/sysinternals/downloads/process-explorer) 发现钉钉相比于其它日常应用属于独树一枝,不知道具体原因是什么,具体表现就是:
不管是 idea64/wechat.exe/msedge.exe/xmind.exe/甚至包含 onedrive/everything 都是挂在 explorer.exe 进程下的,唯独钉钉不是。
图例:
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9
Host: hidden
Referer: hidden
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36 dingtalk-win/1.0.0 nw(0.14.7) DingTalk(6.0.30-Release.9178701) Mojo/1.0.0 Native AppType(release) Channel/201200
SEC-FETCH-DEST: document
SEC-FETCH-MODE: navigate
SEC-FETCH-SITE: same-origin
SEC-FETCH-USER: ?1
UPGRADE-INSECURE-REQUESTS: 1```
其实还是 /t/835913 的后续。发帖之后不久上海疫情,就忘了这回事…… 简述一下需求 体验不错:不需要旗舰级别,但我现在用的是一加 7pro ( 855+8G+256G …
HTTP (Hypertext transfer protocol) 翻译成中文是超文本传输协议,是互联网上重要的一个协议,由欧洲核子研究委员会CERN的英国工程师 Tim B…
我在我的微博上说过这样一段话,我想在这里把我的这个观点阐述地更完整一些。 @左耳朵耗子:聪明的程序员使用50%-70%的时间用来思考,尝试和权衡各种设计和实现,而用30% …