缓慢加载javascript会阻止站点的其余部分

缓慢加载javascript会阻止站点的其余部分,javascript,Javascript,我有一个包含来自外部URL的第三方Javascript的站点。但是,它的加载速度通常非常慢(如果有的话)。这是我们的营销团队使用的跟踪服务,所以我不能删除它(我已经建议了!) 目前它包含在我的页面模板的末尾,带有一个非常简单的 <script src='http://remoteurl/'></script> 页面上的所有其他脚本在执行任何操作之前都会等待加载,这意味着我使用的任何JS小部件在加载之前都不会工作。如果超时,他们就不会跑 因此,外部站点的性能问题正在为

我有一个包含来自外部URL的第三方Javascript的站点。但是,它的加载速度通常非常慢(如果有的话)。这是我们的营销团队使用的跟踪服务,所以我不能删除它(我已经建议了!)

目前它包含在我的页面模板的末尾,带有一个非常简单的

<script src='http://remoteurl/'></script>

页面上的所有其他脚本在执行任何操作之前都会等待加载,这意味着我使用的任何JS小部件在加载之前都不会工作。如果超时,他们就不会跑

因此,外部站点的性能问题正在为我们的站点带来问题

令人沮丧的是,该站点不需要加载此脚本,其他一切都可以正常运行。那么,有没有一种方法可以加载它,从而在它失败时不会阻止站点的其余脚本运行

(我尝试了defer属性,但尽管这会影响执行顺序,但它不会改变在发生任何事情之前必须加载所有内容的事实)


谢谢你的建议。

请参见。方法是动态创建脚本元素onload,这样它就不会阻止或延迟加载本身。

请参见。这种方法是在加载时动态创建脚本元素,这样它就不会阻止或延迟加载本身。

您能否在页面末尾添加代码,将脚本标记添加到页面中,而不是手动添加脚本标记?谷歌分析就是这样处理的。这样,在跟踪程序代码添加到页面之前,其余(您的)代码就会运行

样本:

<script type="text/javascript">
    var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
    document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>

<script type="text/javascript">
    try {
        var pageTracker = _gat._getTracker("tracker-id-removed");
        pageTracker._trackPageview();
    } catch (err) { }
</script>

var gaJsHost=((“https:==document.location.protocol)?”https://ssl." : "http://www.");
write(unescape(“%3Cscript src=”+gaJsHost+“google analytics.com/ga.js”type='text/javascript'%3E%3C/script%3E”);
试一试{
var pageTracker=_gat._getTracker(“已删除跟踪器id”);
页面跟踪器。_trackPageview();
}捕获(错误){}

您能否在页面末尾添加代码,将脚本标记添加到页面中,而不是手动添加脚本标记?谷歌分析就是这样处理的。这样,在跟踪程序代码添加到页面之前,其余(您的)代码就会运行

样本:

<script type="text/javascript">
    var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
    document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>

<script type="text/javascript">
    try {
        var pageTracker = _gat._getTracker("tracker-id-removed");
        pageTracker._trackPageview();
    } catch (err) { }
</script>

var gaJsHost=((“https:==document.location.protocol)?”https://ssl." : "http://www.");
write(unescape(“%3Cscript src=”+gaJsHost+“google analytics.com/ga.js”type='text/javascript'%3E%3C/script%3E”);
试一试{
var pageTracker=_gat._getTracker(“已删除跟踪器id”);
页面跟踪器。_trackPageview();
}捕获(错误){}
我知道一些大型流行网站会这样做。我知道一些大型流行网站会这样做。