0 Пользователей и 1 Гость просматривают эту тему.
  • 7 Ответов
  • 22018 Просмотров

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

smart

  • Администратор
  • 6485
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: GZip и Opera, можно ли что-то изменить?
« Ответ #1 : 15.09.2006, 00:56:44 »
Как я понимаю, это, вероятно, из-за того, что в Джумле свой GZip-паковщик, т.е. не зендовский вариант исполнения, или я не прав?
реализацию функции doGzip можно посмотреть в файле /includes/joomla.php... а в каких CMS компрессия нормально работает в Опере? можно по идее посмотреть, чем отличаются реализации...

Re: GZip и Opera, можно ли что-то изменить?
« Ответ #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

  • Осваиваюсь на форуме
  • 29
  • 3 / 1
Re: GZip и Opera, можно ли что-то изменить?
« Ответ #3 : 24.11.2006, 11:07:19 »
Joomla! 1.0.11.1 RE - все наоборот: Опере отдается gzip, ослику и FF - нет. :D

Re: GZip и Opera, можно ли что-то изменить?
« Ответ #4 : 24.11.2006, 12:42:59 »
Хм, у меня 1.0.11.1 RE, для неё тоже пришлось доделывать.
*

ForeverYoung

  • Осваиваюсь на форуме
  • 29
  • 3 / 1
Re: GZip и Opera, можно ли что-то изменить?
« Ответ #5 : 24.11.2006, 12:54:02 »
Хм, у меня 1.0.11.1 RE, для неё тоже пришлось доделывать.
Видимо у тебя в опциях Оперы стоит представляться/маскироваться под мозиллу или ослика. В function initGzip() косяк в коде: если
Код
if ($phpver >= '4.0.4pl1' && (strpos($useragent,'compatible') !== false || strpos($useragent,'Gecko')	!== false))
то gzip'а не будет.  :laugh:

Re: GZip и Opera, можно ли что-то изменить?
« Ответ #6 : 24.11.2006, 20:13:28 »
Нет, маскироваться в Опере у меня не стоит. А как правильно избавиться от бага GZip я уже писал выше. Работоспособно в Опере 8,9, IE 6,7, и последнем FireFox.
*

ForeverYoung

  • Осваиваюсь на форуме
  • 29
  • 3 / 1
Re: GZip и Opera, можно ли что-то изменить?
« Ответ #7 : 24.11.2006, 20:25:20 »
Siberex
Цитировать
Нет, маскироваться в Опере у меня не стоит.
Возможно выставлено для конкретного сайта.

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

Два запроса к базе данных за раз можно делать?

Автор borro

Ответов: 4
Просмотров: 545
Последний ответ 17.10.2017, 09:30:44
от SeBun
addScript можно ли управлять очередью

Автор Hol1killer

Ответов: 3
Просмотров: 788
Последний ответ 30.03.2014, 20:50:28
от Arkadiy
Можно ли вставить отдельную страничку в качестве модуля?

Автор Riddik

Ответов: 11
Просмотров: 783
Последний ответ 18.11.2013, 14:51:43
от Riddik
Как изменить пренебрежительное отношение заказчиков к Joomla?

Автор busik

Ответов: 41
Просмотров: 5126
Последний ответ 18.04.2011, 04:20:16
от Mitrich
Как определить версию Opera на JavaScript?

Автор smart

Ответов: 0
Просмотров: 20215
Последний ответ 29.06.2006, 18:04:11
от smart