2

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

谢谢你的帮助。

4

3 回答 3

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

仅供参考:头部脚本助手

于 2012-05-25T08:49:12.230 回答
0

正如@Venu 所说,使用headScript() 进行最佳实践。

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

//File: /public/js/jquery.js
$view->baseUrl("js/jquery.js");
于 2012-05-25T12:50:31.177 回答
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;
}

我希望它有帮助

于 2013-09-10T07:35:54.610 回答