0

我下载了密码保护页面的代码。它在 Chrome 和 Firefox 中可以正常工作,但在 IE8 中不行。我在 XP SP3 上。

它将被其他几个人访问,所以我不想说“在 IE8 或 x 或 y 中不起作用”

与之前的问题不同,它在本地工作,但不能从网络上工作。我的主页有一个指向包含以下代码的文件的链接。它位于 Glenfest 下的 www.bscomputers.co.uk

请问这个有解决办法吗?我无法访问 php 等,这是一个低安全性的事情,所以我想要一个页面解决方案。

代码如下:

<SCRIPT>
function passWord() {
    var testV = 1;
    var pass1 = prompt('Please Enter Your Password', ' ');
    while (testV < 3) {
        if (!pass1)
            history.go(-1);
        if (pass1.toLowerCase() == "letmein") { //error on this line
            alert('You Got it Right!');
            window.open('protectpage.html');
            break;
        }
        testV += 1;
        var pass1 =
            prompt('Access Denied - Password Incorrect, Please Try Again.', 'Password');
    }
    if (pass1.toLowerCase() != "password" & testV == 3)
        history.go(-1);
    return " ";
}
</SCRIPT>
<CENTER>
<FORM>
<input type="button" value="Enter Protected Area" onClick="passWord()">
</FORM>
</CENTER>

将代码归功于 http://www.javascriptkit.com/谁似乎没有提供任何帮助。

4

1 回答 1

0

我不太确定这是否是 IE8 的问题,但您正在重新定义每个循环中的 pass1 变量。在 IE 中试试这个。

function passWord() {
    var testV = 1;
    var pass1 = prompt('Please Enter Your Password', ' ');
    while (testV < 3) {
        if (!pass1)
            history.go(-1);
        if (pass1.toLowerCase() == "letmein") { //error on this line
            alert('You Got it Right!');
            window.open('protectpage.html');
            break;
        }
        testV += 1;
        pass1 =
            prompt('Access Denied - Password Incorrect, Please Try Again.', 'Password');
    }
    if (pass1.toLowerCase() != "password" & testV == 3)
        history.go(-1);
    return " ";
}

http://jsfiddle.net/ajY76/

正如 NDM 已经注意到的那样,这根本不是保护措施。

于 2013-11-07T15:48:30.070 回答