在IE中修复baseURL

时间:2010-09-02 17:55:17

标签: php zend-framework zend-app-bootstrap

我正在开发一个具有以下结构的网站:click here。我在尝试加载样式表时遇到了一些URL问题。更具体地说,在 admin 模块中,我正在使用此引导程序:

<?php

class Admin_Bootstrap extends Zend_Application_Module_Bootstrap
{
    public function _initResources() {
        $view = new Zend_View();
        $view->headScript()
                ->appendFile('public/js/jquery-1.4.2.min.js')
                ->appendFile('public/js/jquery.tools.min.js')
                ->appendFile('public/js/jquery-ui-1.8.4.custom.min.js')
                ->appendFile('public/js/utils.js')
                ->appendFile('public/ckeditor/ckeditor.js')
                ->appendFile('public/ckeditor/adapters/jquery.js')
                ->appendFile('public/js/admin.js')
                ->appendFile('public/js/ie.utils.js', null, array('conditional' => 'IE'))
                ->appendFile('public/js/ie.js', null, array('conditional' => 'IE'));

        $view->headLink()
                ->appendStylesheet('public/css/blueprint/screen.css', 'screen')
                ->appendStylesheet('public/css/uploadify.css', 'screen')
                ->appendStylesheet('public/css/jquery.tools.css', 'screen')
                ->appendStylesheet('public/css/ui-theme/jquery-ui-1.8.4.custom.css', 'screen')
                ->appendStylesheet('public/css/blueprint/print.css', 'print')
                ->appendStylesheet('public/css/admin.css', 'screen')
                ->appendStylesheet('public/css/blueprint/ie.css', 'screen', 'IE')
                ->appendStylesheet('public/css/ie.css', 'screen', 'IE');
    }

}

此外,我使用的<base href="<?php echo $this->baseUrl(); ?>/" />适用于 Chrome Firefox ,但在 IE 中我可以看到<base> TAG不起作用,它使用/ccgss/admin/作为 baseUrl 而不是/ccgss/,这会在尝试加载public文件夹中的内容时导致问题因为它试图在/ccgss/admin/public找到。

有没有其他方法可以将我的资源附加到引导程序中,或者我需要解决方法?这应该怎么样?

2 个答案:

答案 0 :(得分:1)

尝试设置这样的路径:

 $view->headScript()
                ->appendFile($this->baseUrl() . 'public/js/jquery-1.4.2.min.js');

还尝试使用google的jquery商店:http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js

ps:http://code.google.com/intl/en-En/apis/libraries/devguide.html

pss:在我的应用程序中,我使用插件来加载这些库,我发现它对我来说非常有用:

resources.frontController.baseUrl = /test/

答案 1 :(得分:0)

一个简单的解决方案是在这些路径前放置一个斜杠,这将使它们对您的网站根目录绝对。

也来自here

  

在HTML中,标签没有结束标记。

     

在XHTML中,标签必须是   正确关闭。

因此,请确保设置正确的doctype。

为什么你的index.php不在公共文件夹中?您知道公用文件夹确实是许多服务器上的public_html文件夹。