Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Почему неразрывный пробел заменяется на & nbsp; (https://javascript.ru/forum/events/34466-pochemu-nerazryvnyjj-probel-zamenyaetsya-na-nbsp%3B.html)

danik.js 06.01.2013 00:12

Почему неразрывный пробел заменяется на & nbsp;
 
Почему браузеры в режиме text/html заменяют неразрывные пробелы на именованную html-сущность. При получении innerHTML мы как раз получаем эту сущность вместо одного символа пробела. При этом в режиме application/xhtml+xml такой проблемы нет.

Почему так происходит? Где написано что браузеры должны делать такую замену?

Deff 06.01.2013 00:30

danik.js,
Вообще то логично, иначе визуально не отличить обычный пробел от неразрывного

Deff 06.01.2013 02:32

Цитата:

Сообщение от Дзен-трансгуманист
Такое поведение обусловлено спецификациями, а не потому что кому-то там так показалось логичнее.Такое поведение обусловлено спецификациями,

Гы - а спецификации делали из каких расположений ? Мну читал историю
В ранней табличной верстке, без наличия современных браузерных дебаггеров были постоянно траблы с определением переноса.

danik.js 06.01.2013 08:48

Цитата:

Сообщение от Deff
Вообще то логично, иначе визуально не отличить обычный пробел от неразрывного


Да нифига не логично. Мои скрипты слепые, они не видят ничерта, они просто работают с символами.

Вообще, зачем их отличать визуально?

Ну допустим. Но ведь " " тоже свиду - обычный пробел, но он же не конвертируется. Могу еще примеров наприводить: " ", " ", " ", " ", " ", " ", " ", " ", " ", " ". Ну че, сильно они визуально отличаются ? А если еще убрать кавычки и наставить их подряд?

Проблема в том что я не могу найти спецификацию (ок, рекомендацию), описывающую замену неразрывного пробела мнемоникой.

Суть в чем. Все визуальные редакторы выдают "xhtml" код. И все отлично, кроме этого тупого &‍nbsp; откуда он берется -ума не приложу. Больше никаких других конвертаций (кроме конечно &lt‍; &gt‍; &quot‍; и &‍apos; которые корректно обрабатываются xml парсером) не происходит. Вследствие чего xhtml - не совсем чистый xhtml, и не работает с рекомендуемым доктайпом (<!DOCTYPE html>). Конечно мне сейчас это не жизненно необходимо, но все-таки, хотел бы разобраться.

danik.js 09.01.2013 00:44

Короче, это тупость какая-то. Походу так начал делать ишак, за ним по цепочке Firefox, дальше - WebKit (с понтом, "раз так делает лиса, мы тож так должны делать"). С каких пор это делает Opera - не знаю.

Короче, бред полнейший.
https://bugs.webkit.org/show_bug.cgi?id=11947
https://bugzilla.mozilla.org/show_bug.cgi?id=165686


Часовой пояс GMT +3, время: 02:58.