【问题标题】:Initialize and run 3rd party after button click单击按钮后初始化并运行第 3 方
【发布时间】:2018-10-24 17:00:14
【问题描述】:
单击按钮后我需要包含一个插件,在文档准备好后,下面的下一个代码不起作用。
$(document).ready(function()
{
$("#ativar").click(function()
{
var script = document.createElement('script');
script.src = '//api.handtalk.me/plugin/latest/handtalk.min.js';
script.type = 'text/javascript';
document.getElementsByTagName("head")[0].appendChild(script);
});
});
<script src="//api.handtalk.me/plugin/latest/handtalk.min.js"></script>
<script>
var ht = new HT({
token: "a34asfdas43d4f5" //example of token
});
</script>
我尝试在上面实现这个 javascript,但是在单击按钮后它不会运行脚本。我该如何处理?
【问题讨论】:
标签:
javascript
jquery
plugins
compilation
【解决方案1】:
请试试这个代码:
$(document).ready(function(){
$("#ativar").click(function() {
var script = document.createElement('script');
script.id = 'handtalk-id';
script.src = '//api.handtalk.me/plugin/latest/handtalk.min.js';
script.type = 'text/javascript';
document.getElementsByTagName("head")[0].appendChild(script);
$(document).find('#handtalk-id').on('load', function() {
var ht = new HT({
token: "a34asfdas43d4f5" //example of token
});
});
});
});
【解决方案2】:
您在脚本下载之前执行代码。
试试这个
<script src="//api.handtalk.me/plugin/latest/handtalk.min.js"></script>
<script>
var isScriptLoaded = setIterval(function(){
if(window.HT){
clearInterval(isScriptLoaded);
var ht = new HT({
token: "a34asfdas43d4f5" //example of token
});
}
},1000);
</script>