現在、ページの読み込み時に実行される2つのスクリプトタグがあります。これらはBODYの最後のものです。
ボタンをクリックしたときに実行したいのですが。これはどのように可能ですか?
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>
あなたはこのようなことを試みるでしょう:
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>
ただし、コードをセキュリティの問題にさらす可能性があるため、この方法でスクリプトを挿入することはお勧めしません。
更新:これをスニペットに更新し、すべてが実行されています。
UPDATE#2:コメントに基づいて、ボタンにイベントを追加する方法を変更しました。今回は、IDを取得し、addEventListenerを使用してアクションをアタッチすることにより、要素に直接追加しました。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加