【问题标题】:Google's CDN in Zend FrameworkZend 框架中的谷歌 CDN
【发布时间】:2012-05-25 08:43:52
【问题描述】:

如何在 Zend Framework(Zend_View) 中获得具有后备功能的 Google CDN?

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.js"></script>
<script type="text/javascript">!window.jQuery && document.write('<script src="/base/js/jquery-1.7.2.js"></script>');</script>

感谢您的帮助。

【问题讨论】:

    标签: javascript jquery zend-framework zend-view


    【解决方案1】:

    你写的方式是对的。

    我刚刚添加了 2 件事。
    1) 基本网址
    2)取消转义特殊字符

    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
    <script>
    !window.jQuery && document.write(unescape('%3Cscript src="<?php echo $this->baseUrl(); ?>/base/js/jquery-1.7.2.js"%3E%3C/script%3E'));
    </script>
    

    用于使用头脚本视图助手

     $java_script_code= '<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>';
        $java_script_code.= '<script>';
        $java_script_code.= '!window.jQuery && document.write(unescape(\'%3Cscript src="' . $this->baseUrl() . '/base/js/jquery-1.7.2.js"%3E%3C/script%3E\'));';
        $java_script_code.= '</script>';
    

    你可以在视图中这样做

    $this->headScript()->appendScript($java_script_code);
    

    或在控制器中(更新上面的基本网址)

    $this->view->headScript()->appendScript($java_script_code); 
    

    仅供参考:Head Script Helper

    【讨论】:

    • 我将如何使用 "$view->headLink()->appendScript();" ?
    【解决方案2】:

    最佳实践是按照@Venu 所说,使用 headScript()。

    如果您已自定义或将修改文件的基本位置,您可以使用 setBaseUrl() 来修改包含文件的路径。

    //File: /public/js/jquery.js
    $view->baseUrl("js/jquery.js");
    

    【讨论】:

      【解决方案3】:

      /base/js/目录下创建一个文件fallback.js并粘贴如下

      !window.jQuery && document.write('<script src="/base/js/jquery-1.7.2.js">
      

      在 bootstrap.php 中添加以下代码

      protected function initJquery() {
          $this->bootstrap('view');
          $view = $this->getResource('view'); //get the view object
      
          //default loads from google CDN
          $view ->jQuery()->enable()->setVersion('1.7');
      
          $view ->headScript()->prependFile($view->baseUrl().'/base/js/fallback.js');
          return $view;
      }
      

      希望对你有帮助

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-12-11
        • 2017-12-03
        • 2020-09-10
        • 1970-01-01
        相关资源
        最近更新 更多