谷歌在Zend Framework中的CDN

时间:2012-05-25 08:43:52

标签: javascript jquery zend-framework zend-view

如何在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>

感谢您的帮助。

3 个答案:

答案 0 :(得分:3)

你写的方式是正确的。

我刚加了2件事 1)基本URL
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

答案 1 :(得分:0)

最佳做法是@Venu说,使用headScript()。

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

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

答案 2 :(得分:0)

/ 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;
}

我希望它有所帮助