Можно ли отображать надстрочные символы в диалоге alert ()? - PullRequest
4 голосов
/ 28 августа 2009

Можно ли отображать надстрочные символы (не только цифры) в диалоговых окнах alert(), confirm() или prompt() в JavaScript?

По некоторым причинам мне нужно вставить текст:

2 с последующим индексом 'n' 2 ^ п

В окно предупреждения JavaScript, подтверждения и подсказки. Быстрый поиск в Google помог, но не совсем, я нашел способ отобразить надстрочные цифры в диалоговых окнах, используя Unicode \ u00B , но он не работает с символами

alert('2\u00B2'); shows correctly 2^2
alert('2\u00Bn'); shows 2u00Bn

Таким образом, цель состоит в том, чтобы показать символ с верхним индексом, а не число.


^ используется как Мощность и показывает, что следующий символ является надстрочным, на случай, если кто-то запутается.

Ответы [ 3 ]

13 голосов
/ 28 августа 2009

В этом коде символа нет ничего волшебного - просто он выбран для символа «Верхний индекс два». Также есть «Верхний индекс три» (\u00B3) (³), «Верхний индекс один» (\00B9) (¹) и «Верхний индекс латинской маленькой буквы N» (\u207F) (ⁿ). Но если вам нужен какой-то другой верхний индекс, вам не повезло - alert() не отображает HTML, поэтому вы ограничены символами, определенными Unicode.

Возможно, вам лучше отказаться от alert() полностью и симулировать модальное диалоговое окно на самой странице. Многие библиотеки уже предоставляют эту функциональность, в том числе отличный jQuery UI Dialog .

3 голосов
/ 28 августа 2009

Нет , надежного способа получения надстрочного текста в поле предупреждения нет. Конечно, вы можете сделать это на странице, используя тег HTML <sup>, но в окне предупреждения вы более ограничены.

Проблема в том, что нет символа "Unicode \u00B". Используемый вами символ - \u00B2 (определен как «Верхний индекс два»). Факт, что есть два в конце, по сути, случайен. Например, кодовая точка \u00B1 не связана (это знак плюс / минус).

Есть несколько других символов, которые имеют определенные версии надстрочного индекса в Юникоде, которые вы можете найти в этом поиске , но не существует надстрочных версий каждой буквы.

1 голос
/ 28 августа 2009

Unicode, или UTF-8, требуется две пары символов или четыре шестнадцатеричные цифры для создания символа; 00B2 распознается как "верхний индекс 2", тогда как 00Bn является недопустимым шестнадцатеричным значением. Надстрочные цифры 1-3: 00B9, 00B2 и 00B3.

К сожалению, нет магического префикса надстрочного индекса, который сделал бы следующий символ надстрочным. Только HTML <sup> может сделать это, и, как сказал Сёг, alert отображает простой текст.

...