исправление baseURL в IE - PullRequest
       37

исправление baseURL в IE

1 голос
/ 02 сентября 2010

Я занимаюсь разработкой сайта со следующей структурой: нажмите здесь . И у меня возникают некоторые проблемы с 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 ]

1 голос
/ 05 сентября 2010

попробуйте установить пути следующим образом:

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

также попробуйте использовать Google jquery store: http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js

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

pss: в своем приложении я использую плагины для загрузки таких библиотек и обнаружил, что это очень полезное свойство для меня:

resources.frontController.baseUrl = /test/
0 голосов
/ 03 сентября 2010

Одним из простых решений было бы поставить косую черту перед теми путями, которые сделали бы их абсолютными для корня ваших сайтов.

также из здесь :

В HTML тег не имеет конечного тега.

В XHTML тег должен быть правильно закрыт.

Поэтому убедитесь, что вы установили правильный тип документа.

Кроме того, почему ваш index.php не находится в общей папке?Вы знаете, что общедоступная папка действительно является папкой public_html на многих серверах.

...