我通过这种方式包含另一个脚本:
<script type="text/javascript" charset="UTF-8">
//<![CDATA[
; (function (window, document, ud) {
var AnId = 654654;
var script = document.createElement('script');
script.setAttribute('charset', 'UTF-8');
script.setAttribute('src', '//something.com/blabla.js');
script.setAttribute('type', 'text/javascript');
document.getElementsByTagName('head')[0].appendChild(script);
})(window, document);
//]]>
var AnId = 65777;
</script>
我的blabla.js必须在被包含后才能执行,以获得正确的AnId值(654654)我该如何处理此执行顺序。 还是有另一种方法。
我的最终目标是在相同的脚本(具有不同的ID)中包括几次,而不会发生冲突。
答案 0 :(得分:2)
script.async = false;
来自https://developer.mozilla.org/en/docs/Web/HTML/Element/script:
设置此布尔属性以指示浏览器应该如果 可能,异步执行脚本。它对...没有影响 内联脚本(即没有src属性的脚本)。
答案 1 :(得分:1)
您可以使用onload事件处理程序来创建和运行第二个脚本:
script.onload = function() {
runTheSecondScript();
};
答案 2 :(得分:1)
使用&#34;加载&#34;事件,以确保您将在适当的时间执行以下代码。
script.addEventListener('load', function(){
var AnId = 65777;
});