yepnope加载js两次

时间:2012-03-28 19:07:14

标签: javascript firebug yepnope

我正在尝试使用以下代码使用yepnope加载JS文件:

yepnope({
    load: '<?php echo base_url(); ?>static/js/highlight.min.js',
    complete: function()
    {
        hljs.tabReplace = '    ';
        hljs.initHighlightingOnLoad();
    }
});

然而,当我查看firebug以查看正在加载的内容时,显示它正在加载两次。我做错了什么因为我很困惑吗?

enter image description here

1 个答案:

答案 0 :(得分:6)

在发布之前,现有的answers应该看起来真的很难。

  

我在开发工具中看到两个请求,为什么要加载所有内容两次?

     

根据您的浏览器和服务器,这可能意味着一对   不同的东西。由于yepnope如何工作的性质,有   每个文件都有两个请求。第一个请求是加载   资源进入缓存,第二个请求是执行它(但是   因为它在缓存中,所以它应该立即执行)。看到两个   只要第二个请求被缓存,请求就很正常了。如果   您注意到第二个请求未缓存(并且您的脚本已加载   时间加倍),然后确保你发送正确的缓存   标题允许缓存脚本。这至关重要   yepnope。没有启用适当的缓存,它将无法工作。我们其实   测试以确保在我们的测试套件中没有加载两次,所以如果   您认为我们的浏览器中可能存在双重加载错误,   我们鼓励您运行测试套件以查看是否有双重加载   测试通过。