错误:'null'为null或不是IE8中的对象,而不是Chrome或Firefox

时间:2013-11-07 15:42:17

标签: javascript html internet-explorer-8

我下载了密码保护页面的代码。它适用于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/的代码似乎没有提供任何帮助。

1 个答案:

答案 0 :(得分: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已经注意到的那样,这根本就没有保护。