Search code examples
javascriptjqueryzend-frameworkzend-view

Google's CDN in Zend Framework


How can I get Google's CDN with fallback working in Zend Framework(Zend_View)?

<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>

Thanks for your help.


Solution

  • The way you wrote is correct.

    I just added 2 things.
    1) Base URL
    2) Unescaping the special chars

    <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>
    

    For using head script view helper

     $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>';
    

    You can do in view this

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

    or in controller (update base url above)

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

    FYI: Head Script Helper