Javascript 密码提示错误

标签 javascript

我似乎无法弄清楚如何纠正我遇到的 2 个问题。

这是我正在使用的代码:

function password() {
    var testV = 1;
    var pass1 = prompt('Please Enter The Password','');
    while (testV < 2) {
        if (!pass1) 
            history.go(-1);
        if (pass1 == "default") { //password here
            window.open('http://www.[redacted].com/downloads/documents/12-2011-project.psd'); //if password correct
            break;
        } 
        testV += 1;
        var pass1 = 
            prompt('Incorrect - Please Try Again.',''); //if password incorrect
    }
    if (pass1 != "password" & testV == 2)               
        history.go(-1);
    window.location = "/exit.html"; //redirects to here after success and opens download
}

我的第一个问题: 单击“取消”时,它会再次提示。我只是希望它在我单击取消后简单地消失。

第二: 当您单击“取消”时使用了 2 次尝试后,它会像下载一样重定向(没有激活下载,这很好。)

我做错了什么,或者需要修复什么?

此外,如果用户只按两次“确定”,则不会激活下载,但它仍会重定向。我在退出页面上留下了说明这一点。这不会打扰我,但是可以解决吗?如果不是,那对我来说很好。

已解决(12/16 @ 上午 9:30) 感谢所有回答我第一个问题的人!

最佳答案

问题 1 - 如果我理解正确的话,如果用户取消你想要中止所有进一步的处理,那么你可以简单地通过更改此从 password() 函数返回:

if (!pass1) 
  history.go(-1);

对此:

if (!pass1) {
  history.go(-1);
  return;
}

否则,如果你想留在你的函数中,说 break 而不是 return (就像你已经为正确的密码所做的那样)来退出 while 循环然后在循环后为该情况添加适当的 if 结构。

问题 2 - 如果您已经从 password() 函数返回,则不会发生重定向,如上所示。如果您试图迎合用户没有取消但密码错误的情况,那么可以这样:

if (pass1 != "password" & testV == 2)               
    history.go(-1);
else
    window.location = "/exit.html";

虽然我不确定你为什么要在那个时候测试 testV 的值。

注意:如果您的 JavaScript 中有密码,用户将能够通过查看您的 JS 源代码来查看密码。

关于Javascript 密码提示错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8535149/

相关文章:

javascript - 尝试通过 Firebase 函数使用 Facebook Messenger Platform 发送消息时出错

javascript - 不变违规 : Element type is invalid: expected a string (built-in components) or a class/function (composite components) but got: object

javascript - 与使用 jQuery 调用 Web 服务相关的问题

javascript - Puppeteer - 变量未在评估函数中传递

javascript - 使用 jquery 在所有带有文本区域的表单中搜索提交按钮

javascript - 单击表单登录时防止子菜单隐藏/单击父 li 时更改背景颜色

javascript - 如何使用动态表中的唯一 ID 通过按钮传递数据

javascript - 未捕获类型错误 : Cannot read property 'indexOf' of undefined (observer-scripts. js)

javascript - 在javascript计时器中更改字体颜色

javascript - three.js - 如何翻译几何