【发布时间】:2019-03-10 20:56:24
【问题描述】:
我一直在尝试通过不加载 Zendesk Widget 来节省页面上的资源,除非需要。
如果我手动将以下标签添加到页面,一切正常:
<script id="ze-snippet" src="https://static.zdassets.com/ekr/snippet.js?key=[MyKey]> </script>
作为我页面的一部分,我总是有一个 div 标签:
<div id="ze-snippet"> </div>
我想要的是,当用户单击按钮时,对 <script> 标记执行“动态脚本加载”。
我目前的尝试是这样的:
window.onload = function () {
var zendeskWidgetOn = false;
document.getElementById('enable-zendesk-widget').addEventListener('click', function( event ) {
if (!zendeskWidgetOn) {
zendeskWidgetOn=true;
(function(d, script) {
script = d.createElement('script');
script.type = 'text/javascript';
script.async = true;
script.onload = function(){
console.log('script finished loading ...');
};
script.src = 'https://static.zdassets.com/ekr/snippet.js?key=[my key]';
d.getElementsByTagName('head')[0].appendChild(script);
}(document));
}
}, false);
};
【问题讨论】:
标签: javascript zendesk dynamic-script-loading