2017-02-07 2 views
0

Я защитил свой сайт с помощью пароля (мне действительно не нужна «настоящая» защита, это просто небольшой сайт с датой, без особых проблем, просто не хочу люди помнят мой бизнес;))Веб-сайт не работает на мобильном телефоне

Но код, который я использовал, похоже, не работает на мобильной версии. Всякий раз, когда я ввожу пароль, который я выбрал, я всегда получаю сообщение об ошибке с неправильным паролем, даже если это правильно. Любая идея, как я могу это решить?

var password = "please"; 
var x = prompt("Enter in the password "," "); 
if (x.toLowerCase() == password) { 
    alert("Come right in \n \n You've entered in the right password"); 
    window.location = "index.htm"; 
} 
else { 
    window.location = "bad.htm"; 
} 

ответ

1

Пожалуйста, посмотрите на вашей линии:

var x = prompt("Enter in the password "," "); 

Ваш второй параметр добавляет пустое пространство перед вашим ответом «». Вы должны использовать пустой параметр «».

Например, если вы наберете свой пароль: пожалуйста. Вместо того, чтобы сравнивать «пожалуйста», «пожалуйста», он ошибочно сравнивает «пожалуйста» с «пожалуйста».

+0

Это может быть проблема, но только если OP добавляет текст по умолчанию вместо его замены. И это не объяснит, почему он работает на рабочем столе, но не на мобильных устройствах. В дополнение к вашим советам, все пользовательские вводные данные также должны получить связанную с ним строчную функцию '.trim()', чтобы удалить любые начальные или конечные пробелы. –

+1

Когда 'prompt' открывается на рабочем столе, оно отображает выбранное пространство, поэтому, когда пользователь вводит пароль, пространство перезаписывается. Мобильный браузер делает то же самое, но когда вы нажимаете на поле для его фокусировки и для отображения экранной клавиатуры, выбор исчезает и пробел в начале ввода подсказки. Попробуйте - https://jsfiddle.net/5s9dyLmt/1/ –

+1

Это сработало! Я удалил пустое пространство внутри «», и теперь он работает как на мобильном, так и на рабочем столе. Спасибо! –

Смежные вопросы