如何在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>
感谢您的帮助。
答案 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;
}
我希望它有所帮助