2010-08-24 2 views
0

У меня есть следующий HTML-файл, защищенный с помощью JavaScript.Работает JavaScript под Firefox, но не работает под IE

Он отлично работает с Firefox, howover, когда он открывается IE, JavaScript, похоже, не вызван. Графика.pdf отображается непосредственно после нажатия гиперссылки.

<HTML> 
<HEAD> 
<TITLE>JavaScript Example 8</TITLE> 

<SCRIPT language="JavaScript"> 
<!-------- 

var password; 

var pass1="test"; 

password=prompt('Please enter your password to view this page!',' '); 

if (password==pass1) 
    alert('Password Correct! Click OK to enter!'); 
else 
    { 
    window.location="jpass.htm"; 
    } 

//-----------> 
</SCRIPT> 

</HEAD> 

<BODY bgcolor="#FFFFFF" text="#000000"> 

<!--<H1 align="center"><a href="grades.pdf">grading</a></H1>--> 

<CENTER> 
<!--<A HREF="grades.htm">Grading</A>--> 
<a href="grades.pdf">grading</a> 
+3

Мой комментарий не связан непосредственно с вашим вопросом ... Но для меня пароль с javascript легко взломать. Нужно только «View Source», и у вас есть пароль. Не было бы безопаснее использовать защиту паролей на стороне сервера? В противном случае я кое-что упустил. – Gabriel

+0

Чтобы убедиться, пожалуйста, * пожалуйста *, не путайте [JavaScript] (http://en.wikipedia.org/wiki/JavaScript) с [страницами JavaServer] (http://en.wikipedia.org/wiki/JavaServer_Pages). Это две совершенно разные вещи. Я удалил тег JSP. – BalusC

+0

password = prompt ('Пожалуйста, введите ваш пароль для просмотра этой страницы!', ''), Увидев этот код, я думаю, вы должны поместить '' вместо ', потому что в вашем приглашении он будет иметь по умолчанию один ведущий пробел, и пользователь может не видеть начальные пробелы, если он/она вводит пароль .. другой способ заключается в том, чтобы обрезать введенный пароль. – Manie

ответ

2

IE 8 и выше, делает быстрое небезопасный метод, который может быть проигнорирован или вызывается с подтверждением безопасности, как установлено в дополнительных свойствах IE пользователем. (IE использует activeX в window.prompt)

Обновления безопасности также могут применяться к IE7.

Получите ввод из поля ввода вместо приглашения, по крайней мере, в IE.