在单击按钮之前不要加载 JavaScript 标记
Posted
技术标签:
【中文标题】在单击按钮之前不要加载 JavaScript 标记【英文标题】:Do not load a JavaScript tag until you click on a button 【发布时间】:2021-08-02 20:24:07 【问题描述】:我有一个在页面加载时不应加载的第三方 javascript 代码。
因此,当您单击“请求更多信息”时,它只会在那个时候加载。
我尝试使用显示/隐藏,但刷新页面时脚本似乎仍在加载。
我的 html 在这里
<button onclick="PodiumWebChat.open()">
Open chat
而 Javascript 是:
<div id="divscript" style="display: none;"><script defer src="https://connect.abc.com/widget.js#API_TOKEN=c0726ce52f4a" id="podium-widget" data-api-token="c0726ce52f4a"></script></div>
【问题讨论】:
您是否尝试将 script 标签添加到 document.body 作为 #button 的 onClick 的一部分? ^ 你可能想设置一个标志,所以你只做一次。 这能回答你的问题吗? Load javascript file after button click CSS 与加载的脚本标签无关。 ***.com/questions/13121948/… 附加它...它可能不起作用,具体取决于脚本中的内容。 【参考方案1】:<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
</head>
<input type="button" id="RequestADemo" onClick="$('#default').click()" value="Request A Demo" />
<div id="test"></div>
<script type="text/javascript">
$(document).ready(function()
// this code will run when the document has loaded
// and all elements are in place
$("#RequestADemo").click(function()
// this code will be run when the user clicks on
// the button we created above
$('#default').click(); // this calls the click event on #default
//alert('Finished'); // now it is finished
var tag = '<script defer src="https://connect.abc.com/widget.js#API_TOKEN=c0726ce52f4a" id="podium-widget" data-api-token="c0726ce52f4a"><\/script>';
$('#test').append(tag); //testing
); // close the click handler on #RequestADemo
); // close the document.ready code block.
</script>
【讨论】:
以上是关于在单击按钮之前不要加载 JavaScript 标记的主要内容,如果未能解决你的问题,请参考以下文章