2012-05-25 46 views
2

如何使用Zend Framework(Zend_View)中的fallback工具获取Google的CDN?Zend框架中的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

你写的方式是正确的。

我刚刚加了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

+0

如何我得到的工作与“$ view-> headLink() - > appendScript();” ? – Johannes

+0

也用代码更新 – Venu

0

最佳做法是被制成@Venu表示,采用用HeadScript()。

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

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

创建一个文件fallback.js/基/ 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; 
} 

我希望它可以帮助