Наверно примитивный вопрос, но так как я до этого не пользовался mozilla то начинать надо с простого ;-).
Вопроса даже два:
1) как вставлять несколько пробелов в Mozilla (FireFox)? Если просто написать текст к примеру "тут     я          поставил  несколько            пробелов" то Mozilla как и IE заменит несколько пробелов в один. Результат будет таков "тут я поставил несколько пробелов". Но в IE чтоб все осталось по честному можно вместо пробела поставить &nbsp и если написать "тут&nbsp&nbsp&nbsp3 пробела" то IE так и выведет эту строку "тут   3 пробела" (с тремя пробелами). В Mozilla такой вариант не проходит. Так как же правильно вывести несколько пробелов подряд? вариант с таблицами не подходит. нужно реально вставлять n-ое кол-во пробелов в любом месте.
2) очень похожий вопрос (который можно считать почти решенным если найти ответ на первый)- при переходи с одной страницы на другую если какие-то данные не были заполнены на первой странице я вывожу форму подтверждения продолжения:

var mess="Вы не ввели номер телефона \n  Продолжить?";
    if ( !document.getElementById('phone').value )
        if ( !window.confirm(mess) )
            return;

так вот как сделать чтоб текст был центрирован в этой форме (вопрос больше связан с JS, но если рещиться вопрос с множеством пробелов, то можно просто на глаз вбить пробелов до тех пор, пока текст не встанет по центру). И можно ли у формы подтверждения изменять шапку? Т.е.  по умолчания всплывающее окно имеет название [JavaScript Application] в Mozilla. Было бы лучше конечно вставить туда свою надпись.

Заранее благодарен за ответ.

 

В Mozilla такой вариант не проходит.

Еще как проходит.

Еще как проходит.

Такой: 1&nbsp&nbsp&nbsp&nbsp1
или такой: 1&nbsp&nbsp&nbsp&nbsp 1?

Валидатор не ругается, парсер нормально работает?

Оба.

1&nbsp&nbsp&nbsp&nbsp1
волшебным образом д. превратиться в
1   &nbsp1

Если это "проходит", то ладно.

Э... Не понял?

А что тут непонятного?

Создаём test.html, пишем там "тут&nbsp&nbsp&nbsp3 пробела", смотрим в Mozilla/Opera.

Уточню - проходит такой вариант "1&nbsp&nbsp&nbsp&nbsp&nbsp 2" (когда перед последним словом/цифрой есть пробел). Результат будет -  "1     2". Если последний пробел убрать (т.е. написать "1&nbsp&nbsp&nbsp&nbsp&nbsp2") -результат будет не тот, который нам надо. Однако для формы  подтверждения следующий код

var mess="&nbsp&nbsp&nbsp&nbsp Вы не ввели номер телефона \n  Продолжить?";
    if ( !document.getElementById('phone').value )
        if ( !window.confirm(mess) )
            return;

как результат выдал окно с надписями:

&nbsp&nbsp&nbsp&nbsp Вы не ввели номер телефона
Продолжить?

при этом как видно пробелов нет, а мне нужно чтоб текст был размещен по центру формы.

Спасибо за ответы.

в окошке надо обычные пробелы использовать
в тексте страницы &nbsp

пишем там "тут&nbsp&nbsp&nbsp3 пробела"

А, ну я так и сделал.

Если последний пробел убрать (т.е. написать "1&nbsp&nbsp&nbsp&nbsp&nbsp2") -результат будет не тот

А у меня тот.

Вот скрин.
(1-ый вариант: тут   3 пробела. 2-ой: тут   3 пробела)

text_space.gif

P.S. После &nbsp желательно ставить символ ;

в окошке надо обычные пробелы использовать
в тексте страницы &nbsp

Так я пробовал и просто пробелы и &nbsp. Если просто пробелы -то мозила конвертирует их в один пробел. А если &nbsp то в форме они прямо так и выводяться "&nbsp&nbsp&nbsp....". Не совсем то, что нужно. Точнее совсем не то :(

В целом с первым вопросом вроде все встало на свои места - либо пробел перед последним символом ставить либо точку запятой (а возможно правильно делать и то и другое). А вот как быть с формой-так и не понял. :/
И вобще, кто может подсказать хорошие ссылки на лит-ру в и-нете где можно почитать спецификации по мозиле ( английский тоже не проблема ) и различия между  IE & Mozilla, но в доступном виде. Может есть файлы типа .chm?

DnA

спецификации по мозиле... и различия между  IE & Mozilla

Так с отображением HTML в Mozill'е все впорядке. Во всяком случаем намного лучше, чем в IE. Совет по пробелам действенный, проверенно... мной. ;)

А что касается формы. Попробуй "Вы не ввели номер телефона" заключить в тег <center>...</center> прямо в самом скрипте.

Попробуй "Вы не ввели номер телефона" заключить в тег <center>...</center> прямо в самом скрипте.

Типа так:

var mess="<center>Вы не ввели номер телефона \n  Продолжить?</center>";
    if ( !document.getElementById('phone').value )
        if ( !window.confirm(mess) )
            return;

не пройдет. уже пробовал. и <center> и \t - ничего не помогает. Форма выводит эти тэги как простой текст т.е.
"<center>Вы не ввели номер телефона
Продолжить?</center>"

такой вид тоже не пройдет

var mess=<center>+"Вы не ввели номер телефона \n  Продолжить?"+</center>;
или
var mess=<center>"Вы не ввели номер телефона \n  Продолжить?"</center>;
или
var mess=<center>."Вы не ввели номер телефона \n  Продолжить?".</center>;

тут правило конкетинации строк не действует.

хм,
а мона вот так
mess="\b \b \b bla-bla";

вроде пркатывает

хм,
а мона вот так
mess="\b \b \b bla-bla";

:) у меня при этом показываються квадратики. т.е. да, текст сместился на право, но получились не пробелы, а квадраты идущие до текста :/

Как насчёт 255-го символа? У меня работает.

DnA, это работает только в мозилле
в ие обычные пробелы неплохо смотрятся

igorsub пишет

P.S. После &nbsp желательно ставить символ ;

Не желательно, а НАДО ставить.

igorsub пишет

P.S. После &nbsp желательно ставить символ ;

Кажется, стоит перечитать топик внимательно. Я сразу сказал, что автор вопроса просто не ставит ;

DnA пишет

В целом с первым вопросом вроде все встало на свои места - либо пробел перед последним символом ставить либо точку запятой (а возможно правильно делать и то и другое).

Точку с запятой необходимо ставить после каждого спец. символа, которым, в данном случае, является &nbsp;. И не полагаться на то, что браузер "додумает" за кодера.

DnA пишет

И вобще, кто может подсказать хорошие ссылки на лит-ру в и-нете где можно почитать спецификации по мозиле ( английский тоже не проблема ) и различия между  IE & Mozilla, но в доступном виде.

google.com
w3c.org
mozilla.org
nexgenmedia.net/evang/iemozguide

Спасибо за советы и ответы.
Первый вопрос выяснил полностью. Второй так и не удалось пока что решить. Ничего из перечисленного не помогло. Как-то очень хитро Mozilla работает с window.confirm() . Возможно в Mozilla даже нет возможности центрировать текст в данной форме :/

Точку с запятой после escape-символов типа надо ставить ОБЯЗАТЕЛЬНО

IMHO использовать &nbsp; для создания последовательности пробелов - изврат
можно использовать самые обыкновенные пробелы - читать тут