PAID MEMBERS

CSS AND STYLING

SCRIPTS AND HACKS

ghl-experts-logo-light
  • PAID MEMBERS

    CSS AND STYLING

    SCRIPTS AND HACKS

  • Password Protect Funnel

    Instructions:

    Copy the JavaScript code below
    Paste the code into:
    Edit Funnel > Tracking Code > Footer Code

    You see a comment called – const pin_code = “1234”;

    Change your desired password between the two quotations, Remember never to delete two quotations.

    JavaScript Code Start Here:
    Copy and paste this code to Funnel setting > Tracking code > Footer Code

    <script>
    !(function () {
      const pin_code = "1234";
    
      const head = document.querySelector("head");
      const style = document.createElement("style");
      head.append(style);
      style.innerHTML = `
        @import url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css");
        #__nuxt {display: none}
        .password_container {
          display: flex;
          width: 100%;
          height: 100vh;
          justify-content: center;
          align-items: center;
          padding: 1rem;
        }
        .password_container .form-group {
          display: flex;
          flex-direction: column;
          justify-content: center;
          align-items: center;
          min-height: 400px;
        }
        .password_container form {
          max-width: 500px;
          display: flex;
          margin: 0 auto;
          width: 100%;
          justify-content: center;
          align-items: center;
          padding: 1.5rem;
          box-shadow: 0px 0px 8px #ccc;
          border-radius: 10px;
        }
        .password_container .password_input {
          display: flex;
          width: 100%;
          justify-content: center;
          align-items: center;
          gap: 5px;
        }
        .password_container label {
          margin-bottom: 10px;
          font-size: 20px;
          font-family: "Roboto";
        }
        .password_container .form-group i {
          font-size: 100px;
          color: #ccc;
        }
        .password_container .password_input input {
          display: flex;
          justify-content: center;
          align-items: center;
          max-width: 50px;
          max-height: 50px;
          min-height: 50px;
          border: 1px solid #ddd;
          box-shadow: 0px 50px 80px #ddd;
          border-radius: 5px;
          text-align: center;
        }
        .password_container .password_input input:focus {
          outline: 2px solid #ccc;
        }
        .password_container .error{
          color: red;
          margin-top: 10px;
          font-weight: 600;
        }`;
    
      const body = document.querySelector("body");
      const mainElement = document.querySelector("#__nuxt");
      mainElement.remove();
    
      const password_container = document.createElement("div");
      password_container.classList.add("password_container");
      password_container.innerHTML = `
    <form>
     <div class="form-group">
      <i class="fas fa-lock"></i>
      <label for="password">Enter your password</label>
      <div class="password_input">
        <input type="password" name="p1" maxlength="1"/>
        <input type="password" name="p2" maxlength="1"/>
        <input type="password" name="p3" maxlength="1"/>
        <input type="password" name="p4" maxlength="1"/>
      </div>
      <span class="error"><span>
     </div>
    </form>
    `;
      body.append(password_container);
      const errorElement = password_container.querySelector(".error");
    
      const inputs = [...password_container.querySelectorAll("input")];
      const url = new URL(location.href);
      let submited = "";
    
      const updateInputByParams = (input) => {
        if (input.name === "p1") {
          input.value = url.searchParams.get("p1");
        }
    
        if (input.name === "p2") {
          input.value = url.searchParams.get("p2");
        }
    
        if (input.name === "p3") {
          input.value = url.searchParams.get("p3");
        }
    
        if (input.name === "p4") {
          input.value = url.searchParams.get("p4");
        }
    
        submited += input.value;
      };
    
      inputs.forEach((input, index) => {
        updateInputByParams(input);
        input.addEventListener("input", (e) => {
          const target = e.target;
          const value = target.value;
    
          if (target.name === "p1") {
            inputs[1].value = "";
            inputs[2].value = "";
            inputs[3].value = "";
            submited = "";
            errorElement.innerHTML = "";
          }
    
          submited += value;
          const nextInput = inputs[index + 1];
          if (nextInput) inputs[index + 1].focus();
          if (submited.length !== 4) return;
    
          if (submited === pin_code) {
            body.prepend(mainElement);
            mainElement.style.display = "block";
            password_container.remove();
          } else {
            errorElement.innerHTML = "Password not match!";
          }
        });
      });
    
      if (submited === pin_code) {
        body.prepend(mainElement);
        mainElement.style.display = "block";
        password_container.remove();
      } else {
        if (submited) {
          errorElement.innerHTML = "Password not match!";
        }
      }
    })();
    </script>

    Join our Facebook Group

    Join our Facebook Group to get support, platform insights, ask questions and receive updates.

    Latest Update

    Visit our changelog page to see our most recent update.

    Welcome to GHL Expert Tools

    We are still in the process of finalizing all of our trainings and setup instructions. If you need help in the meantime, please join our Facebook Group.

    Join our Facebook Group

    Join our Facebook Group to get support, platform insights, ask questions and receive updates.

    Latest Update

    Visit our changelog page to see our most recent update.

    ezgif.com-gif-maker

    Affiliate Area

    Join our affiliate program to earn commissions when you refer people to GHL Experts

    FOMO

    Capture leads before they leave the page by creating
    entincing offers that create a fear of missing out.

    Affiliate area

    Join our affiliate program to earn commissions when you refer people to GHL Experts

    © 2020 GHL Experts. All Rights Reserved. Made with Love from Montreal

    This site is not a part of the GoHighLevel website or HighLevel, LLC. Additionally, this site is not endorsed by GoHighLevel in any way. GoHighLevel is a trademark of HighLevel, LLC