我有N个不同的javascript文件,我想根据用户输入在HTML代码中仅加载其中一个。有人可以指出我如何实现这一目标吗?谢谢!
您始终可以<script>
根据一些输入将标记动态地插入DOM中:
var myScript = document.createElement('script');
myScript.setAttribute('src', 'http://example.com/somescript_depending_on_user_input.js');
document.head.appendChild(myScript);
这将动态地将<script src="http://example.com/somescript_depending_on_user_input.js"></script>
元素注入DOM并加载所需的脚本。从远程URL加载脚本后,浏览器将对其进行评估。
而且,如果您想等待外部javascript实际加载(与<script>
在DOM中注入元素相比,这是一个不同的时间点),则可以订阅该onload
事件。如果要调用仅在动态加载的脚本中定义的某些函数,这可能会非常方便:
myScript.onload = function() {
alert('Youpee, my dynamic script was successfully loaded, I can use it in this callback');
};
另请注意,如果您也想在IE中使用此功能,则可能需要订阅该onreadystatechange
事件,如图所示this article
。这将使您的代码可在不同的浏览器上运行。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句