Отображение Emoji в Google Chrome

У меня есть расширение Google Chrome, поддерживающее чат. Расширение chrome отображает сообщения, отправленные вам в уведомлении на рабочем столе. Я заметил, что всякий раз, когда я отправляю emoji с iPhone, он правильно отображается в уведомлении рабочего стола. Но когда я пытаюсь отобразить тот же emoji в реальном приложении (это iframe, введенный на страницу), он выглядит как квадрат.

Похоже, там есть открытая ошибка в https://code.google.com/p/chromium/issues/detail?id=62435. Мне было интересно, почему он корректно работает в Desktop Notification, а не в другом? Кроме того, есть ли что-нибудь, что я могу сделать, чтобы исправить это?

Ответ 1

Я только что реализовал поддержку Emoji в своем расширении, используя open-source библиотеку Twemoji.

В простейшей форме он включает в себя добавление файла .js и вызов функции на элементе DOM для замены Unicode emoji с предоставленными в Twitter CDN изображениями:

twemoji.parse(node);

Подробнее читайте в файле repository.

Ответ 2

Теперь Chrome будет поддерживать emojis изначально (только OSX). Вы можете подождать несколько недель, пока стабильная версия не будет выпущена с этой функцией, или вы можете загрузить форму dev-version здесь, которая уже содержит это особенность.

Btw, если вы хотите проверить, работает ли он, вы можете использовать эту страницу (работает как шарм).

Ответ 3

Вы можете просмотреть emoji с расширением Chrome под названием Chromoji.
Он также работает на Mac OS X, Windows и Linux.

Ответ 4

Я видел, что эту проблему можно решить, обновив Internet Explorer до версии 11 под Windows 7 x64 (несколько компьютеров затронуты, все решены).

В моем случае это было связано с тем, что я отформатировал компьютер с чистым, без обслуживания пакетом Windows 7 x64. После установки SP1 в Windows 7 и IE11 все браузеры начали корректно отображать emojis. Я использовал для тестирования этот сайт.

Если на странице отображаются квадраты по всей странице, ошибка не будет решена. Если на странице отображаются несколько видов символов, чем ошибка устранена.

Расскажите, пожалуйста, если это обходное решение было эффективным.