Safari does not return an empty string when a prompt is cancelled

title
This commit is contained in:
Anmol Sethi 2017-08-17 21:28:37 -04:00 committed by GitHub
parent 3b25bc58be
commit 0395673650

View file

@ -9,23 +9,17 @@ if (userName == 'Admin') {
if (pass == 'TheMaster') {
alert( 'Welcome!' );
} else if (pass == null || pass == '') { // (*)
} else if (pass == null) {
alert( 'Canceled.' );
} else {
alert( 'Wrong password' );
}
} else if (userName == null || userName == '') { // (**)
} else if (userName == null) {
alert( 'Canceled' );
} else {
alert( "I don't know you" );
}
```
Please note the `if` check in lines `(*)` and `(**)`. Every browser except Safari returns `null` when the input is canceled, and Safari returns an empty string. So we must treat them same for compatibility.
Also note the vertical indents inside the `if` blocks. They are technically not required, but make the code more readable.
Note the vertical indents inside the `if` blocks. They are technically not required, but make the code more readable.