在訪問這個網頁時,基於chromium的瀏覽器會出現一連串內碼,而firefox是正常的。
Opera:
edge:
firefox
因此,最好備有兩種內核的瀏覽器。
这话跟我说干嘛,去跟 iOS 的开发者说啊!
我这边chrome和firefox都是正常的
可能最新的chromium手機內核已經解決了這個問題,而Opera跟Edge沒有用上最新版內核。
我的edge版本是95.0.1020.37,如果你的版本跟我的一樣,那可能就是我的手機問題。
chromium已经算是目前的网页标准了,都会测试在chromium上是否正常的。
反而是firefox属于顺带兼容,很少有人测试的…
建议你先 root,然后加装字体
下载页
95是去年的版本了吧?我用的是 103.0.1264.43
我能重现,仔细研究了下,我确定 Chrome 的 bug。
那个汉字是 U+2E5D9。
原始字符串,UTF-8 编码,正确。
Chrome 和 Firefox 解析为 JavaScript 时,Code point 的值也正确。
所以在 JavaScript 里表示为字符串时,两个浏览器都是相同的,length
也是 40
。
所以 Chrome 的 bug 在于,第三个字符(即右引号)开始之后,渲染错误。
诡异之处,如果指定具体中文字体 font-family: "Source Han Sans SC";
,整句话就能正常显示了。
所以如果 Windows 下没问题,应该是 Chrome 在 Linux 的字体处理有问题,即不同字体混合渲染时,Chrome 和 Firefox 行为不一致。
好像root手機換字體,無法換unicode ext-B以上的字體。我的手機是android6。或許往後的版本可以?
是舊版本chromium的問題,還是至今仍然存在?
chrome 67
无此bug
我 Linux 最新版本的 Chrome 103,仍然存在,可以重现。
等一下,楼主最初讨论的是手机端的显示问题。经你提醒,我用 pc edge 打开该页面,可复现该行为。但是我的 win 11 是英文系统,我怀疑是系统字符集/字体的问题。
如果你這樣懷疑的話,可以用firefox試一下。
我正因為用了兩種內核,因此我應該已經排除了是系統問題。
還有一種可能是,Opera跟Edge手機版,調用的是系統的瀏覽器內核,而不是把內核編譯進安裝包。