LiveInternetMail.ru
Форум русской поддержки Joomla!® CMS
20.06.2013, 01:20:11 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 2.5 FAQ Joomla 1.5 FAQ Joomla 1.0 FAQ Правила форума Новости Joomla Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор Тема: GZip и Opera, можно ли что-то изменить?  (Прочитано 17133 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Siberex
Гость
« : 15.09.2006, 00:47:14 »

Хотел было создать тему в "Проблемных вопросах" но понял, что у меня скорее вопрос к тем, кто занимается разработкой для Joomla.
Как известно, GZip в Jooml'е катастрофически несовместим с Oper'ой. Причем это проблема скорее Джумлы, чем Оперы, т.к. множество сайтов и форумов с включенным GZip'ом (на других движках) отлично отображаются в Опере, а Джумла ну никак не хочет.
Поэтому вопрос: Можно ли решить эту проблему и если можно, то как (хотя бы в каком напровлении копать)? Как я понимаю, это, вероятно, из-за того, что в Джумле свой GZip-паковщик, т.е. не зендовский вариант исполнения, или я не прав?
Я смотрел http-header'ы у джумлы и у другого движка с включенным GZip'ом - они по сути одинаковые, но только Джумла почему-то не хочет отображаться :-(
Записан
smart
Администратор
*******

Репутация: +1220/-14
Offline Offline

Пол: Мужской
Сообщений: 6647


снова дома...


« Ответ #1 : 15.09.2006, 00:56:44 »

Как я понимаю, это, вероятно, из-за того, что в Джумле свой GZip-паковщик, т.е. не зендовский вариант исполнения, или я не прав?
реализацию функции doGzip можно посмотреть в файле /includes/joomla.php... а в каких CMS компрессия нормально работает в Опере? можно по идее посмотреть, чем отличаются реализации...
Записан
Siberex
Гость
« Ответ #2 : 02.10.2006, 21:36:47 »

Посмотрел реализации в других движках, посмотрел в Джумле.
В Джумле это сделано вообще как-то криво. Переделал по-своему.
Функция doGzip теперь у меня выглядит так:
Код:
function doGzip() {
        global $do_gzip_compress;
        if ( $do_gzip_compress ) {
                $gzip_contents = ob_get_contents();
                ob_end_clean();
                @ob_start('ob_gzhandler');
                echo $gzip_contents;
        } else {
                ob_end_flush();
        }
}
Зачем там был весь остальной мусор - неясно. В Опере теперь работает на ура. В любой Опере.
Записан
ForeverYoung
Осваиваюсь на форуме
***

Репутация: +3/-1
Offline Offline

Сообщений: 49


« Ответ #3 : 24.11.2006, 12:07:19 »

Joomla! 1.0.11.1 RE - все наоборот: Опере отдается gzip, ослику и FF - нет. Cheesy
Записан
Siberex
Гость
« Ответ #4 : 24.11.2006, 13:42:59 »

Хм, у меня 1.0.11.1 RE, для неё тоже пришлось доделывать.
Записан
ForeverYoung
Осваиваюсь на форуме
***

Репутация: +3/-1
Offline Offline

Сообщений: 49


« Ответ #5 : 24.11.2006, 13:54:02 »

Хм, у меня 1.0.11.1 RE, для неё тоже пришлось доделывать.
Видимо у тебя в опциях Оперы стоит представляться/маскироваться под мозиллу или ослика. В function initGzip() косяк в коде: если
Код:
if ($phpver >= '4.0.4pl1' && (strpos($useragent,'compatible') !== false || strpos($useragent,'Gecko') !== false))
то gzip'а не будет.  laugh
Записан
Siberex
Гость
« Ответ #6 : 24.11.2006, 21:13:28 »

Нет, маскироваться в Опере у меня не стоит. А как правильно избавиться от бага GZip я уже писал выше. Работоспособно в Опере 8,9, IE 6,7, и последнем FireFox.
Записан
ForeverYoung
Осваиваюсь на форуме
***

Репутация: +3/-1
Offline Offline

Сообщений: 49


« Ответ #7 : 24.11.2006, 21:25:20 »

Siberex
Цитировать
Нет, маскироваться в Опере у меня не стоит.
Возможно выставлено для конкретного сайта.

Цитировать
А как правильно избавиться от бага GZip я уже писал выше.
У меня не возникает никаких проблем с функцией doGzip. Косяк в функции initGzip - т.е. там, где определяется юзер-агент. С оперой вообще никаких проблем не было (8.54 и 9.02), а вот FF и IE остались без gzip. В качестве решения я просто пустил их по "оперному" пути и все.
Возможно различия из-за разных версий php - на моем хостинге 4.3.10
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Рейтинг@Mail.ru Rambler Top100 Powered by SMF 1.1.18 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet