Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 18.07.2013
Сообщений: 19

Разный результат в разных браузерах

14.09.2013, 11:49. Показов 1275. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!

Полгода назад прошел базовый курс JS, недавно решил пройтись по простеньким упражнениям для самопроверки.
Все упражнения прошел хорошо. Затем попробовал запустить в Chrome следующее:

JavaScript
1
2
3
4
5
        var name = prompt("Your name", "");
        if (!name)
            name = "stranger";
        
        document.write(name);
Суть: при нажатии cancel или вводе "" в Firefox переменной возвращается stranger, все работает хорошо, а Chrome при cancel получается null.

Почему? Версия Chrome 29, Mozilla 23.

Спасибо большое за пояснения!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.09.2013, 11:49
Ответы с готовыми решениями:

Разный межбуквенный интервал в разных браузерах
Здравствуйте. Скажите пожалуйста, в реальных проектах нужно ли добиваться кроссбраузерности в межбуквенном интервале?(у меня в IE 10 и FF...

Разный масштаб сайта в разных браузерах
Все привет! Подскажите пожалуйста, как сделать, чтобы при открытии страницы гугл хром открывал ее с масштабом 75%, а яндекс с маштабом...

Разный вид страницы в разных браузерах.
Имеется сайт: www14.brinkster.com/random236/project.asp При обращении к сайту через IE5.0 генерится один код html, при обращении через...

6
 Аватар для Vovan-VE
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
14.09.2013, 12:05
В любом браузере получается null при нажатии на [отмена] или string при нажатии на [ok].

Добавлено через 1 минуту
JavaScript
1
2
3
4
5
6
if (null === name) {
    name = "(анонимус)";
}
else if ("" === name) {
    name = "(noname)";
};
1
0 / 0 / 0
Регистрация: 18.07.2013
Сообщений: 19
14.09.2013, 12:27  [ТС]
условие !name - это null, "", undifined и т.д. (через логическое или)

аналогично

JavaScript
1
2
3
4
5
        var name = prompt("Your name", "");
        if ((name === null)||(name === ""))
            name = "stranger";
        
        document.write(name);
просто через отрицание выглядит элегантнее.
или я ошибаюсь?

но почему, черт возьми, в хроме не работает, а в мозилле работает?
проверил еще - работет в IE9 и в Safari 6 на Mac OS 10.8

Добавлено через 6 минут
загадка.... в хроме после cancel получается null вместо stranger, а в мозилле - stranger.

Добавлено через 7 минут
может у меня хром неправильный? )))
0
48 / 87 / 11
Регистрация: 12.08.2013
Сообщений: 474
14.09.2013, 13:16
Цитата Сообщение от Prometheus Посмотреть сообщение
Здравствуйте!

Полгода назад прошел базовый курс JS, недавно решил пройтись по простеньким упражнениям для самопроверки.
Все упражнения прошел хорошо. Затем попробовал запустить в Chrome следующее:

JavaScript
1
2
3
4
5
        var name = prompt("Your name", "");
        if (!name)
            name = "stranger";
        
        document.write(name);
Суть: при нажатии cancel или вводе "" в Firefox переменной возвращается stranger, все работает хорошо, а Chrome при cancel получается null.

Почему? Версия Chrome 29, Mozilla 23.

Спасибо большое за пояснения!
не работает именно с переменной name, если изменить идентификатор, добавим к примеру буду f в начало, то в хроме будет работать нормально
JavaScript
1
2
3
4
5
6
7
var fname = prompt("Your name", "");
 
    if (!fname) { 
          fname = "stranger"; 
        }
        
        document.write(fname);
Добавлено через 9 минут
примеру букву* f в начало
1
363 / 334 / 38
Регистрация: 29.03.2011
Сообщений: 838
14.09.2013, 13:36
Не пользовался хромом, ощущение, что тут какой-то косяк, возможно - где-то в предыдущем коде.
Попробуйте засунуть в функцию, чтобы исключить сторонние влияния.
JavaScript
1
2
3
4
5
function with_default( var name ) {
    return name? name: 'stranger';
}
alert( name );
alert( with_default(name) );
1
0 / 0 / 0
Регистрация: 18.07.2013
Сообщений: 19
14.09.2013, 14:22  [ТС]
с оберткой в function все равно не работает.
поменял переменной имя на me - все в порядке.

пробовал через switch/case - с name не работает только в хроме, опять же.

вопрос к спецам: chrome как-то по-иному воспринимает имя name?

Добавлено через 2 минуты
может в каком-то из extensions она уже зарезервирована?
у меня их два под хром - iReader и adBlock

Добавлено через 2 минуты
в любом случае, вопрос частично снят ))
спасибо всем, кто отписался! ))

Добавлено через 5 минут
на всякий случай (может понадобиться кому-то)
подобный трабл, правда, проще объясняемый.

http://productforums.google.co... 3p92JVCW4o
0
835 / 643 / 101
Регистрация: 20.08.2013
Сообщений: 2,524
15.09.2013, 01:07
Цитата Сообщение от sKotenok Посмотреть сообщение
function with_default( var name ) {
Так функции не объявляют...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
15.09.2013, 01:07
Помогаю со студенческими работами здесь

Почему html код сайта разный в разных браузерах?
Всем привет! Такой вопрос: почему в хроме код страницы один, а который получаю в делфи - другой? Пробовал разными методами- результат один....

[Задача] Разный результат на разных версиях gcc
Возможно, кому-то было бы интересно поразбираться с тонкоматериальным вопросом. Если хочется самостоятельно докопаться до истины,...

На разных компьютерах скрипт выдаёт разный результат
Добрый день. В предыдущей теме (https://www.cyberforum.ru/vba/thread1366571.html) проверили мой скрипт: sURL =...

В разных системах выводит разный результат, почему?
#include <stdio.h> #include <string.h> #include <ctype.h> #include <locale.h> #define DELIM " ,.!?\n\t" #define WORDSIZ 20 void...

Использование оператора ^= в разных случаях дает разный результат
меняю переменные местами: a ^ = b ^= a ^= b; В а записывает всегда "0". То есть не работает так. Когда делаю так: b ^= a ^= b; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла: Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru