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

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

14.09.2013, 11:49. Показов 1255. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru