var head = document.getElementsByTagName('head')[0];
var script = document.createElement('script');
script.type = 'text/javascript';
if (<screen-width less than 500>)
script.src = "js/mobile_version.js";
else
script.src = "js/jquery_computer.js";
head.appendChild(script);
8条答案
按热度按时间093gszye1#
你必须自己在JS中创建这个标记。
fnatzsnv2#
如果您希望异步加载脚本,这里的其他答案可以做到这一点。
如果您希望它与页面加载同步加载,这是
document.write
剩下的非常非常少的有效用例之一:(我删除了
type
,因为JavaScript是默认的,指定它没有用。)relj7zay3#
也许您可以使用matchMedia.js并使用jQuery.getScript加载脚本
ykejflvf4#
最好使用内置的matchMedia API。
缺点是IE〈10不支持此功能
eulz3vhy5#
您不需要jQuery来实现这一点,在DOM中动态创建
<script>
标记就足够了:h9a6wy2h6#
只需使用ifelse来检测条件,并在脚本元素上使用class,可能会有所帮助
lymgl2op7#
如果愿意,可以使用async
import()
。在带有
<script type="module">
的脚本标记中,或者在从常规<script>
加载了import()
的模块中,您也可以在最新(实验性)浏览器中使用顶级await但它并不适用于所有脚本。
(function(global){...}(this))
,因为this
在模块中未定义。kmpatx3s8#
您可以在jQuery中使用
$.getScript
,see here以获取详细信息