手機最好有不同內核的瀏覽器

在訪問這個網頁時,基於chromium的瀏覽器會出現一連串內碼,而firefox是正常的。

Opera:

edge:

firefox

因此,最好備有兩種內核的瀏覽器。

这话跟我说干嘛,去跟 iOS 的开发者说啊!

2 个赞

我这边chrome和firefox都是正常的

可能最新的chromium手機內核已經解決了這個問題,而Opera跟Edge沒有用上最新版內核。

edge 上也没有问题啊

我的edge版本是95.0.1020.37,如果你的版本跟我的一樣,那可能就是我的手機問題。

chromium已经算是目前的网页标准了,都会测试在chromium上是否正常的。
反而是firefox属于顺带兼容,很少有人测试的…

建议你先 root,然后加装字体
http://cheonhyeong.com/Simplified/download.html

1 个赞

95是去年的版本了吧?我用的是 103.0.1264.43

我能重现,仔细研究了下,我确定 Chrome 的 bug。

那个汉字是 U+2E5D9

原始字符串,UTF-8 编码,正确。

Screenshot_20220703_180059

Chrome 和 Firefox 解析为 JavaScript 时,Code point 的值也正确。

Screenshot_20220703_175123

所以在 JavaScript 里表示为字符串时,两个浏览器都是相同的,length 也是 40

所以 Chrome 的 bug 在于,第三个字符(即右引号)开始之后,渲染错误。

1 个赞

诡异之处,如果指定具体中文字体 font-family: "Source Han Sans SC";,整句话就能正常显示了。

所以如果 Windows 下没问题,应该是 Chrome 在 Linux 的字体处理有问题,即不同字体混合渲染时,Chrome 和 Firefox 行为不一致。

好像root手機換字體,無法換unicode ext-B以上的字體。我的手機是android6。或許往後的版本可以?

是舊版本chromium的問題,還是至今仍然存在?

chrome 67
无此bug
:thinking:

我 Linux 最新版本的 Chrome 103,仍然存在,可以重现。

等一下,楼主最初讨论的是手机端的显示问题。经你提醒,我用 pc edge 打开该页面,可复现该行为。但是我的 win 11 是英文系统,我怀疑是系统字符集/字体的问题。

如果你這樣懷疑的話,可以用firefox試一下。

我正因為用了兩種內核,因此我應該已經排除了是系統問題。

還有一種可能是,Opera跟Edge手機版,調用的是系統的瀏覽器內核,而不是把內核編譯進安裝包。