выполнять теги скрипта при нажатии кнопки - PullRequest
0 голосов
/ 04 февраля 2019

В настоящее время у меня есть два тега скрипта, которые запускаются при загрузке страницы.Это последнее, что есть в ТЕЛЕ.

Теперь я хочу, чтобы они запускались, когда я нажимал кнопку.Как это можно сделать?

HTML-код

<div class="col-md-12 signup-wrap">
            <a class="signup blue-grdt" href="#">Newsletter Signup</a>
        </div>

Скрипт

        <script type="text/javascript" src="//s3.amazonaws.com/downloads.mailchimp.com/js/signup-forms/popup/embed.js" data-dojo-config="usePlainJson: true, isDebug: false"></script>
    <script type="text/javascript">require(["mojo/signup-forms/Loader"], function(L) { L.start({"baseUrl":"mc.us12.list-manage.com","uuid":"xx","lid":"xx"}) })</script> 

1 Ответ

0 голосов
/ 04 февраля 2019

Вы бы попробовали что-то вроде этого:

function getScript() {
  let script = document.createElement( 'script' );
  script.type = 'text/javascript';
  script.src = "//s3.amazonaws.com/downloads.mailchimp.com/js/signup-forms/popup/embed.js";
  script.setAttribute("data-dojo-config", "usePlainJson: true, isDebug: false")
  document.body.appendChild(script);

  setTimeout(function() {
    require(
      ["mojo/signup-forms/Loader"], function(L) {
        L.start({"baseUrl":"mc.us12.list-manage.com","uuid":"xx","lid":"xx"})
      }
    )  
  }, 2000);
  console.log('getScript executed');
}

let button = document.getElementById('newsletter-signup');
button.addEventListener('click', getScript);
<div class="col-md-12 signup-wrap">
  <a id="newsletter-signup" class="signup blue-grdt" href="#">Newsletter Signup</a>
</div>

Однако я не рекомендую внедрять сценарии таким образом, потому что это подвергнет ваш код проблемам безопасности.

ОБНОВЛЕНИЕ: Я обновил эточтобы быть фрагментом, все работает.

ОБНОВЛЕНИЕ № 2: На основании вашего комментария я изменил способ добавления события к кнопке, на этот раз я добавил непосредственно к элементу, получив его с помощью идентификатора и используяaddEventListener для прикрепления действия.

...