Как я могу заставить функцию выполняться первой перед другой, когда она будет последней в DOM? - PullRequest
0 голосов
/ 18 марта 2020

В программном обеспечении (например, OptinMonster) я пытаюсь добавить настроенный Javascript, который добавляет больше функциональности к всплывающему окну, функция которого уже записана в программном обеспечении (OptinMonster), в теге head. Сначала мне нужно заставить свою функцию выполняться, но я не могу этого сделать, поскольку моя функция находится внизу тега body, а оригинальный скрипт и функции - в теге head. Как я могу переписать скрипт в теге head со скриптом внизу тега body, есть ли способ, чтобы скрипт внизу страницы выполнялся первым?

<head> <script src=""></script></head> //OptinMonster script
<body>
<script> //my customised script
var email = document.getElementById('workMail-field-email');
var button = document.getElementById('workMail-FieldsElementButton--zfEvw8Dhlz1j5CW5j1H8');


email.addEventListener('keydown', validate);
button.addEventListener('click', stopSubmit);

function validate(){

    var inputVal = document.getElementById('workMail-field-email').value;
    var pattern = /^[^ ]+@[me|mac|icloud|gmail|googlemail|hotmail|live|msn|outlook|yahoo|ymail|aol]+\.[a-z]{2,3}$/;

    if (inputVal.match(pattern)) {
        document.getElementById("invalid").style.display = "block";
        document.getElementsByClassName('workMail-error-header')[0].style.display = 'none';
        window.email.style.border = "2px solid rgb(255, 153, 153)";
        window.item = true;
    } else {
        document.getElementById("invalid").style.display = "none";
        window.email.style.border = "none";
        window.item = false;
    }
}
function stopSubmit(e){
    if (window.item){
        e.preventDefault();
        e.stopImmediatePropagation();
    }
}
</script>
</body>

Функция, которую я хочу перезаписать:

function(n) {
  var i = n.target,
    o = i.closest(e.listeners.submit) || i;
  o._omns && o._omns["click.omSubmitForm." + t] && (n.stopImmediatePropagation(), n.preventDefault(), e.C.Optin.init(), u.trigger(document, "Listeners.submit", {
    type: "default",
    Listeners: e,
    Campaign: e.C
  }))
}

По сути, я хочу, чтобы функция не проверяла любой адрес электронной почты, а работала только с адресами электронной почты и o только тогда он отправляет форму . Проблема в том, что отправляет, когда это обычное письмо, а не рабочий адрес электронной почты .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...