我已完成以下操作,以在Magento中包含来自Google CDN的jQuery:
<default>
    <reference name="head">
        <block type="core/text" name="google.cdn.jquery">
            <action method="setText">
                <text><![CDATA[<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script><script type="text/javascript">jQuery.noConflict();</script>]]>
                </text>
            </action>
        </block>
    </reference>
</default>
但是,当我想通过本地后备实现(效果很好)来实现时,我最终将其添加到.phtml中,如下所示:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script>
if (!window.jQuery) {
    document.write('<script src="/path/to/your/jquery"><\/script>');
}
</script>
- 是否有一个更优雅的这样的方式在local.xml中,而不是推回退入
<text>节点,因为我有做的jQuery.noConflict? 
编辑:
提请注意问题的另一部分-是否有包含jQuery的社区模块适合您?如果他们有本地jQuery,那就很好-如果他们使用Google CDN-甚至更好。如果不存在,我很乐意创建一个。
- 是否有任何扩展插件可以处理此问题,而无需我自己引导它?
 
                
                1
              
                  一个非常简单的社区模块,其中包括JQuery(半自我链接):github.com/netz98/N98_BaseJQuery-它仅包含本地JQuery。通过CDN的想法很好,可以通过Pull Requests :-)随时加以改进
                
                
                  
                    —
                    Alex 
                    
                  
                
              
                  出于好奇:CDN是否不可靠?为什么需要回退?您在那里有什么样的实践经验?
                
                
                  
                    —
                    亚历克斯
                    
                  
                
              
                  一些国家(伊朗,叙利亚等)可能有时会阻止Google和Google CDN。这是我的亲身经历。我还看到了缓解响应超时等问题。
                
                
                  
                    —
                    philwinkle 
                    
                  
                
              
                  了解。因此,如果您可以为该模块提供解决方案,那就太酷了。
                
                
                  
                    —
                    亚历克斯
                    
                  
                
              
                  很棒的发现-寻找合适的东西时我没有看到N98模块。我想我会在那里做。谢谢!但是,可能必须采用上述
                
                  
                    —
                    philwinkle 
                    
                  
                
              <text>方法...不确定是否可以接受。我认为n98模块使用一个单独的js包含文件来调用noConflict ...