包含/嵌入第三方javascript的最安全方式

时间:2014-05-27 18:58:20

标签: javascript jquery

美好的一天, 我最近接管了一个网站,每个页面加载了大约10个第三方javascripts。这些包括但不限于分析,聊天系统,A / B测试,评论,字体,产品推荐,库(jquery)和站点的自定义代码。其中一些是在本地托管的,其中许多是由创建它们的公司托管的。

我是否可以获得有关加载所有这些内容的最佳方式的一些输入,并允许它们全部正常运行,但防止它们导致访问者延迟。

我发现两个解决方案似乎很有希望,但没有听说过任何关于它们/使用过它们,所以我不愿意实施。我很感激任何想法/帮助。感谢!!!

http://www.olark.com/spw/2011/10/lightningjs-safe-fast-and-asynchronous-third-party-javascript/

Detecting and terminating slow third party javascript requests [http://headjs.com/]

3 个答案:

答案 0 :(得分:2)

async主题

上的

Here's a nice blog post

答案 1 :(得分:1)

对于异步加载javascript,您可以使用HTML5异步属性

<script async src="http://third-party.com/resource.js"></script>

您也可以使用经典方式,但现在不太推荐。

(function(d, t) {
    var g = d.createElement(t),
        s = d.getElementsByTagName(t)[0];
    g.src = '//third-party.com/resource.js';
    s.parentNode.insertBefore(g, s);
}(document, 'script'));

答案 2 :(得分:0)

只有两种方法:将async=true参数添加到脚本代码中,或者按照Google推荐的方式执行操作 - 将引用移到文本的屏幕折叠之外,最好是移动到脚。

Firefox有这个有用的浏览器控制台,它显示了一些延迟来源。无论如何,你可能不得不妥协并放弃一些生猪。

如果您还没有完成,请启用HTTP压缩,尤其是.js文件。奇怪的是,这甚至可以在局域网上提供连接,但似乎 来限制事物。