Показать сообщение отдельно
  #7 (permalink)  
Старый 10.06.2019, 08:29
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

Сообщение от Lefseq
Malleys, этот код выдает просто всплывающее окно с текстами: GB, US, RU, а не флаги.
Все правильно, это флаги, проверьте кодовые точки. Если вы видите флаги как чёрно-белый текст, то значит вы используете шрифт Segoe UI Emoji в котором так прорисованы региональные индикаторы! Вы можете явно указать какой-нибудь шрифт с хорошо прорисованными символами...

Вот пример с подключённым шрифтом...

<p id="flag"></p>
<button onclick="showRandomFlag()">Показать следующий случайный флаг</button>
<style>
@font-face {
	font-family: "Noto Color Emoji";
	src: url("https://cors-anywhere.herokuapp.com/https://github.com/googlei18n/noto-emoji/raw/master/fonts/NotoColorEmoji.ttf");
}

html {
	font: 300% "Apple Color Emoji", "Android Emoji", "Twemoji Mozilla", "Noto Color Emoji";
}
</style>
<script>
function showRandomFlag() {
    var countries = ["GB", "US", "RU"].map(v => v.replace(/[a-z]/gi, match => 
    String.fromCodePoint(match.toLowerCase().codePointAt() + 127365)));

    var country = countries[Math.random() * countries.length | 0];
    document.getElementById("flag").textContent = country;

}
showRandomFlag();
</script>


Если вы хотите использовать шрифт из примера, то скачайте его к себе... https://github.com/googlei18n/noto-e...ColorEmoji.ttf

Последний раз редактировалось Malleys, 10.06.2019 в 08:35.
Ответить с цитированием