正在脚本中加载脚本
Loading script within a script
我正在努力寻找加载响应/移动页面的最佳方法,然后我发现了一个jQuery插件,它可以根据屏幕宽度取消注释。我发现它非常完美,因为我不需要额外的HTTP请求,而且对于移动用户来说,它会更快。
但是,我偶然发现了一个问题:这个jQuery插件无法加载/呈现其他脚本。你可以在这把小提琴上看到我刚才做的:https://jsfiddle.net/g3f88q5k/
<div id="Test">
<!-- @media only all and (min-width:400px)
<script> Whatever </script>
-->
</div>
它取消了我想要的部分的注释,但将twitter作为按钮的脚本不起作用。
如果有办法的话,我该怎么做呢?
XHR(或JS代码本身)可以在if语句中生成,但在XHR的情况下,多个脚本加载会影响性能。你最好把所有的JavaScript都放在一个缩小的文件里,让它一次下载。您可以像媒体查询一样让JS检测最小宽度等,但可能不容易维护。
尝试enquire.js.
通过match
回调:
enquire.register("your screen media query here", {
match : function() {
//load your script here
}
});
您可以扮演类似的角色
<html>
<head></head>
<body>
<script type="text/javascript">
var script = document.createElement('script');
script.src = "https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js";
script.onload = function() {
console.log($); // now it's loaded
};
document.body.appendChild(script);
console.log($); // doesn't work
</script>
</body>
</html>
我只是以jquery为例,但它应该适用于任何情况。
相关文章:
- Joomla异步脚本加载jdoc头
- 将自定义脚本加载到Vue.js组件中
- 延迟加载 脚本加载和/或执行
- 脚本加载问题
- I'当我试图将java脚本加载到web视图中时,我得到了一个空白屏幕
- 脚本加载脚本广告
- 当我有一个脚本数组时,如何等待脚本加载
- 将Dropbox API脚本加载到chrome扩展时出错
- 异步脚本加载
- 一旦第三方脚本加载失败,立即运行一段JavaScript
- 有没有办法阻止脚本加载两次?JavaScript
- 无法使用 AJAX 将脚本加载为纯文本
- 我怎样才能说服WebStorm我的用户脚本加载jQuery
- 需要JS脚本加载顺序
- 处理不同设备的页面中的脚本加载
- 显示加载 gif,直到脚本加载完毕
- jQuery Mobile pageinit,脚本加载和其他东西
- IE11 脚本加载不起作用(有时)
- 有条件地将内容脚本加载到 Safari 扩展中,就像在 FF/Chrome 中一样
- 如何在Chrome开发工具中找到以下脚本加载时间线