作者热门文章
- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我正在开发一款需要显示日文字符的 javascript 内存游戏。是否有检测对亚洲语言或日语的支持的跨浏览器方法?
window.navigator.language 将设置为浏览器的语言,但会漏掉那些未将日语设置为浏览器语言的用户(?)。
最佳答案
Is there a cross browser way(s) of detecting support for asian languages, or japanese specifically?
您的意思是“是否安装了日语字体”?因为现代操作系统可以配置的“支持亚洲语言”的唯一其他方面是与是否知道像 Shift-JIS 这样的字符编码(在 Windows 上也称为代码页 932)有关。但是您通常不需要它,因为您可以只使用 UTF-8,它更干净并且在任何地方都受支持。
通常您不能直接判断是否安装了特定字符范围的字体,但有一些迂回的方法。例如测量页面文本的呈现大小:
var half= document.createElement('span');
var full= document.createElement('span');
half.appendChild(document.createTextNode('\uFF71'));
full.appendChild(document.createTextNode('\u30A2'));
document.body.insertBefore(half, document.body.firstChild);
document.body.insertBefore(full, document.body.firstChild);
var havejapanesefont= half.offsetWidth!=full.offsetWidth;
document.body.removeChild(half);
document.body.removeChild(full);
这会临时创建包含片假名“a”的半 Angular 和全 Angular 变体的元素。如果有可用的日文字体,我们希望它们具有不同的宽度。如果不存在这样的字体,它们很可能会呈现为具有相同宽度的类似“无法呈现的字符”字形。
关于javascript - 是否可以检测东亚语言支持?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/604993/
我是一名优秀的程序员,十分优秀!