Я хотел бы определить, поддерживается ли встроенный смайлик.
Только если этого не произойдет, я загружу шрифт эмодзи, чтобы сэкономить пропускную способность, а также сделать приложение более естественным.
Однако при поиске в Интернете я нашел только кого-то, кто использовал userAgent
, чтобы проверить, поддерживается или нет emoji.
Например, приведенный ниже код взят из https://github.com/github/g-emoji-element/blob/master/emoji-detection.js,
export function isEmojiSupported(): boolean {
const onWindows7 = /\bWindows NT 6.1\b/.test(navigator.userAgent)
const onWindows8 = /\bWindows NT 6.2\b/.test(navigator.userAgent)
const onWindows81 = /\bWindows NT 6.3\b/.test(navigator.userAgent)
const onFreeBSD = /\bFreeBSD\b/.test(navigator.userAgent)
const onLinux = /\bLinux\b/.test(navigator.userAgent)
return !(onWindows7 || onWindows8 || onWindows81 || onLinux || onFreeBSD)
}
Хотя регулярное выражение может быть не идеальным, поскольку Firefox в Windows 7 поддерживает Emoji начиная с http://caniemoji.com/.
Однако, поскольку разные браузеры или библиотеки могут иметь различный наборЧто касается эмодзи, то некоторые эмоджи могут прекрасно воспроизводиться в одном браузере, а некоторые просто не очень хорошо.
Так есть ли лучший способ, кроме использования userAgent
, чтобы проверить, поддерживается ли Emoji?