javascript - 为什么开发人员编写这些类型的脚本来嵌入,而一个简单的标签就可以做到?

标签 javascript jquery

我只是想问一个关于我最近看到的很多关于其他开发人员编写的 jQuery/Javascript 插件/小部件的实践的问题。

我维护着很多网站,我经常被要求为各种东西添加新脚本,例如聊天小部件、营销工具等,但是我通常为大多数这些外观发送的代码是这样的。

<script type="text/javascript">

(function() {

var hm = document.createElement('script'); hm.type ='text/javascript';     hm.async = true;

hm.src = ('++www-widget-org+widget-js').replace(/[+]/g,'/').replace(/-/g,'.');

var s = document.getElementsByTagName('script')[0];     s.parentNode.insertBefore(hm, s);

})();

</script>

现在我的问题是,当您真正需要做的就是这个时,为什么还要费心编写上面的脚本?

<script src="//www.widget.org/widget.js" type="text/javascript" async></script>

我已经多次看到这种情况,我开始怀疑这种方法的实际好处是什么?如果有的话?

最佳答案

根据 Steve Souders ,此方法用于load scripts in a non-blocking fashion .这是有道理的,因为这些脚本通常是页面的补充并且与功能没有直接关系(为什么仅仅因为您添加了 Google Analytics 等而使您的网站变慢)。

还有其他脚本利用这个机会来初始化一些非常基本的数据(例如 GoogleAnalytics 使用它来 _setAccount)。我还看到脚本汇总用户统计数据(屏幕大小、代理和其他客户端数据)并将它们也传递给远程脚本(在查询参数中,它们可以稍后查看/分析以获得有关其人口统计的详细信息)。

关于javascript - 为什么开发人员编写这些类型的脚本来嵌入,而一个简单的标签就可以做到?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32098152/

相关文章:

javascript - React.js - 兄弟组件之间的通信

javascript - 在浏览器窗口/选项卡关闭上打开自定义弹出窗口

javascript - 使用 jquery 如何在浏览器中返回图像后更改图像 src 属性的 http 参数

jquery - 代码中的CSS修改

javascript - jPlayer 无法正常循环?

javascript - 如何在网页加载时初始化图库?

javascript - 使用 append() 时在按钮内添加跨度

javascript - 使用javascript重定向到同一文件夹中的另一个页面

Javascript:嵌套对象引用的点表示法字符串

javascript - 防止模型飞出窗外