我的浏览器中的Minifier js原因变量已经声明

问题描述 投票:0回答:2

我的js文件有一个小问题,当我缩小文件并将其放到网上时,浏览器会进一步将其最小化,例如通过将变量名替换为字母,然后我看到其中一个变量被替换为“ e”,并且知道我在代码中使用了e.preventDefault (),因此这会导致以下错误:

Uncaught SyntaxError: Identifier 'e' has already been declared

所以,我有两个文件,第一个文件名为:contact_form.js,第二个文件为newsletter_form.js

第一名通过表格在我的主页中执行

由于我的通讯是从所有页面上可用的菜单中打开的模式,因此在我的所有视图页面中均执行第二个。

CODE:这是我的正常代码:

let contact_email = document.getElementById('email');
let contact_nom = document.getElementById('nom');
let contact_prenom = document.getElementById('prenom');
let contact_message = document.getElementById('message');
let info_contact = document.getElementById('info_contact_bot');
let checkbox_verify = document.getElementById('contact_accepter');
let contact_submit = document.getElementById('submit');

let verifier_contact = false;

contact_email.addEventListener('blur', function () {
    let info_email = document.getElementById('info_email');
    if(confirmEmail(contact_email.value)){
        contact_email.style.border = "solid 2px green";
        verifier_contact = true;
    } else {
        contact_email.style.border = "solid 2px red";
    }
});

contact_submit.addEventListener('click', function(e) {
    let response = grecaptcha.getResponse();

        if(contact_nom.value.length !== 0 && contact_prenom.value.length !== 0 && contact_email.value.length !== 0 && contact_message.value.length !== 0){
            if(response.length !== 0){
                if(checkbox_verify.checked === true){
                    if(confirmEmail(contact_email.value)){
                        info_contact.innerHTML = "<h5 style='color: rgb(1, 196, 1);'>Merci de patienter ...</h5>";
                    } else {
                        info_contact.innerHTML = "<h5 style='color:red;'>E-Mail non valide !</h5>";
                        e.preventDefault();
                    }
                }else {
                    info_contact.innerHTML = "<h5 style='color:red;'>Vous devez accepter la politique.</h5>";
                    e.preventDefault();
                }
            }else {
                info_contact.innerHTML = "<h5 style='color:red;'>Veuillez cocher le captcha.</h5>";
                e.preventDefault();
            }
        } else {
            info_contact.innerHTML = "<h5 style='color:red;'>Veuillez remplir tout les champs !</h5>";
            e.preventDefault();
        }

    setTimeout(function() {
        info_contact.innerHTML = "";
    }, 2000);});

并且我在浏览器中的代码变为:

let e=document.getElementById("email"),t=document.getElementById("nom"),n=document.getElementById("prenom"),l=document.getElementById("message")...etc
javascript html css browser
2个回答
0
投票

很抱歉,如果您已经尝试过,请查看您已将e用作参数名称的click事件处理程序的函数声明,


0
投票

我尝试但没有,他将事件替换为:c.addEventListenner

© www.soinside.com 2019 - 2024. All rights reserved.