We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!

    • 12736
    • 259 Posts
    Заметил такую штуку.
    Когда мне в резиновой верстке надо ввести минимальный размер окна для IE - да умер бы он побыстрее. То я пользуюсь всегда вот таким хаком.

    <!--[if IE]>
    <style type="text/css">
    body {
    width:expression( documentElement.clientWidth < 980 ? (documentElement.clientWidth == 0 ? (body.clientWidth < 985 ? "980" : "auto") : "980px") : "auto" );
    }
    </style>
    <![endif]-->

    Ну и вот. Если страница берется из кеша, то хак перестает работать. Если кеш почистить и кешируемость отключить - то все хорошо - хак работает. Кто-то понимает почему так происходит? Пожалуйста объясните.
      • 785
      • 2,113 Posts
      Напишут же люди...
      Какого кэша? Если браузера, то вопрос не сюда, а если кэш MODx, то получается, что при кэшировании некоторые части HTML-кода пропадают? Тогда нужно искать, как эти части генерируются, может сниппет неправильно при кэшировании работает. Или HTML-код остается неизменным, но браузер неверно работает? В этом случае опять вопрос не по MODx.
      Уже не первый раз люди связывают вопросы генерации кода и отображения этого кода в браузере. Ну смотрите все же на HTML-код, получаемый от MODx, а не на результаты работы браузера. Все, что связано с преобразованием шаблонов, чанков и сниппетов в код, относится к MODx, а все, что связано с отображением конкретного кода в браузере, к MODx никак не относится.
        Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
        Статьи о MODx, регулярно новые публикации
        • 28814 ☆ A M B ☆
        • 1,086 Posts
        Quote from: AKots at Apr 09, 2008, 04:34 AM

        Напишут же люди...
        Какого кэша? Если браузера, то вопрос не сюда, а если кэш MODx, то получается, что при кэшировании некоторые части HTML-кода пропадают? Тогда нужно искать, как эти части генерируются, может сниппет неправильно при кэшировании работает. Или HTML-код остается неизменным, но браузер неверно работает? В этом случае опять вопрос не по MODx.
        Думаю все же здесь имелся ввиду кеш MODx.
        Quote from: AKots at Apr 09, 2008, 04:34 AM

        Уже не первый раз люди связывают вопросы генерации кода и отображения этого кода в браузере. Ну смотрите все же на HTML-код, получаемый от MODx, а не на результаты работы браузера. Все, что связано с преобразованием шаблонов, чанков и сниппетов в код, относится к MODx, а все, что связано с отображением конкретного кода в браузере, к MODx никак не относится.
        Абсолютно верно, добавить просто нечего.
          Разработка сайтов и программных модулей на MODX.
          Опыт работы на MODx с 2005 года. Высокое качество.
          Компания Baltic Design Colors: http://www.bdcolors.ru.
          • 12736
          • 259 Posts
          Конечно , я про кэш МОDx )))
          И исходный код кэшируемой MODx[ом] страницы (если смотреть через браузер исходный код страницы) не отличается от не кэшируемой MODx[ом] страницы.  Однако хак для IE6, который в условных операторах, если страница кэшируется MODx[ом] - перестает работать (в IE6), при этом этот хак корректно работает (в IE6) если страница не кешируется MODx[ом].
          Отсюда проcьба - если кто понимает с чем это может быть связано, поделитесь, пожалуйста - так как ни жить-ни быть надо ограничить минимальную ширину верстки, а откэширования отказываться не охото. Да и просто интересно.

          PS Да. Хак в условных операторах просто вставляется в хедер шаблона. Хак в чанк не оформлен
            • 785
            • 2,113 Posts
            Quote from: ikarushka at Apr 09, 2008, 08:04 AM

            И исходный код кэшируемой MODx[ом] страницы (если смотреть через браузер исходный код страницы) не отличается от не кэшируемой MODx[ом] страницы.
            Забудьте про MODx – он сгенерировал код, все остальное к нему не относится. Если два абсолютно одинаковых кода полученных из интернета выполняются по-разному в браузере на вашей машине, то при чем тут особенности работы программы на PHP, работающей на сервере?
            А вообще-то, скорее всего, коды получаются не совсем одинаковые.
              Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
              Статьи о MODx, регулярно новые публикации
              • 12736
              • 259 Posts
              Quote from: AKots at Apr 09, 2008, 09:31 AM

              Забудьте про MODx &#150; он сгенерировал код, все остальное к нему не относится. Если два абсолютно одинаковых кода полученных из интернета выполняются по-разному в браузере на вашей машине, то при чем тут особенности работы программы на PHP, работающей на сервере?
              А вообще-то, скорее всего, коды получаются не совсем одинаковые.

              Да, похоже Вы правы - копаюсь сейчас с этим - пока ни с места, но попробывал на другом MODхсайте эту конструкцию - все работает. Подскажите пожалуйста где можно почитать про то как работает кеш MODx[а]? Я правильно понимаю, что кешируется страница целиком, или контент, шаблоны, чанки, сниппеты - кешируются отдельно друг от друга? Спасибо
                • 12736
                • 259 Posts
                Проблема не в MODx оказалась. AKots - прав. Перенастроил хак на другую минимальную ширину (взял на 20px шире) и все заработало и если кешируется страница и если нет. Почему была такая разница между кешируемой и некешируемой страницами при прежних значенениях так и осталось не понятным
                  • 22301
                  • 1,084 Posts
                  а почему не сделать проще:

                  body {
                  width:expression((document.documentElement.clientWidth || document.body.clientWidth) < 980? "980px": "auto"); }
                  


                  а вообще, надо такое юзать: http://www.cssplay.co.uk/boxes/minwidth.html
                    [img]http://jurist-info.ru/pic/rrr.jpg[/img]

                    Безжалостный пияр!
                    Artima -- неуч!
                    Осторожно: преступная локализация -- modx-cms.ru
                    Баштанник Андрей -- мегапрограммер из Белоруссии и поедатель говна, очень критично настроенный молодой человек!

                    Дисклеймер для общительных: даю сам себе право транслировать в открытый эфир содержание лички, just for fun
                    • 12736
                    • 259 Posts
                    А вот за это спасибо!
                    Это я щас буду читать, а то этот хак не надежный - постоянно меня подводит.
                      • 1788
                      • 1,103 Posts
                      Можно загнать вывод куска html-кода в сниппет и прописать в шаблон без кеширования.
                      Правда это +1 вызов к мускулу.