We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 48413
    • 12 Posts
    Ребята подскажите, в чем может быть проблема?
    Загрузил modx на новый хостинг, все удачно установилось но при создании нового ресурса, страничка виснет и даже страничку браузера нельзя закрыть, вот скрин, в чем может быть проблема? Это проблема с бд?
    вот страница на которой виснет http://mysite.ru/manager/index.php?a=55&context_key=web
    и вот такое /?a=30&id=1 [ed. note: txi_vlad last edited this post 9 years, 7 months ago.]
      • 49090
      • 3 Posts
      Это проблема с google chrome последней версии. В firefox все работает. У меня последние несколько дней после обновления хрома невозможно редактировать ресурсы. Пробовал с разных компьютеров, разные сайты на разных хостингах. При этом на моем старом ноутбуке, которые не успел обновить хром, все ок, документы редактируются. Странно что от Modx нет никакой информации на эту тему и в моем топике http://forums.modx.com/thread/94448/can-t-edit-docs-in-google-chrome-chunks-templates-still-can-be-edited#dis-post-511505 тишина.
        • 49090
        • 3 Posts
        Хотя смотрю, вы через оперу заходите. Видимо в опере та же ерунда, что и в хроме. Картинка зависания у меня выглядит точно также.
          • 48413
          • 12 Posts
          Quote from: weebizseo at Oct 01, 2014, 10:27 AM
          Это проблема с google chrome последней версии. В firefox все работает. У меня последние несколько дней после обновления хрома невозможно редактировать ресурсы. Пробовал с разных компьютеров, разные сайты на разных хостингах. При этом на моем старом ноутбуке, которые не успел обновить хром, все ок, документы редактируются. Странно что от Modx нет никакой информации на эту тему и в моем топике http://forums.modx.com/thread/94448/can-t-edit-docs-in-google-chrome-chunks-templates-still-can-be-edited#dis-post-511505 тишина.

          Действительно, в Хроме и Опере (на хромиум разработана) тоже перестало работать, в ФФ все нормально работает)
            • 48413
            • 12 Posts
            Quote from: weebizseo at Oct 01, 2014, 10:30 AM
            Хотя смотрю, вы через оперу заходите. Видимо в опере та же ерунда, что и в хроме. Картинка зависания у меня выглядит точно также.
            Вы правы, Опера на движке Хрома стоит поэтому такая ерунда. Всем спасибо, все решилось)
              • 49090
              • 3 Posts
              Нужно поставить в настройках времени часовой пояс +4
              Подробнее: http://modx.ru/vopros-otvet/info/1119/#4005
                • 42886
                • 3 Posts
                Хо хо, всем привет. Не поленился и разобрал что происходит. Проблема в хроме +/- в ExtJS.

                Хром неверно выполняет операцию Date.add('mi',15) и забывает перемотать день, при этом в ExtJS.TimeField не предусмотрена остановка цикла по количеству итераций и он генерирует бесконечный цикл для генерации выпадающего списка времени в поле xdatetime.

                Сделал баг-репорт в хром: http://code.google.com/p/chromium/issues/detail?can=1&q=Date.add&id=421438&thanks=421438&ts=1412774664

                Ну и простенький фикс для modx: в файле /manager/assets/modext/util/datetime.js меняем строки
                    ,maxTimeValue: null
                    ,minTimeValue: null
                

                на
                    ,maxTimeValue: new Date('08/10/2014').clearTime().add('mi', (24 * 60) - 16)
                    ,minTimeValue: new Date('08/10/2014').clearTime()
                


                Что ограничивает нам время публикации на 23:44, но временно решает нашу проблему.

                Не знаю, стоит ли писать патч-реквест для modx, т.к. бага явно в хроме.
                  • 49190
                  • 2 Posts
                  Круто, indomian! Интересно было бы узнать методику как "разобрать что происходит" в таком непростом случае.

                  Я пофиксил следующим образом.
                  В сырцах
                  http://docs.sencha.com/extjs/3.4.0/source/TimeField.html#Ext-form-TimeField
                  нашел место, где происходит зацикливание. Это строка 119.
                          while(min <= max){
                              times.push(min.dateFormat(this.format));
                              min = min.add('mi', this.increment);
                          }
                  


                  И сделал там проверку
                          while(min <= max){
                              times.push(min.dateFormat(this.format));
                              var min0 = min;
                              min = min.add('mi', this.increment);
                              if(min0 > min) {
                                min = min.add('d', 1);
                              }
                          }
                  


                  Далее пропатчил
                  manager/assets/ext3/ext-all.js
                  примерно так
                  generateStore:function(b){var c=this.minValue||new Date(this.initDate).clearTime(),a=this.maxValue||new Date(this.initDate).clearTime().add("mi",(24*60)-1),d=[];while(c<=a){d.push(c.dateFormat(this.format));var c0=c;c=c.add("mi",this.increment);if(c0>c){c=c.add("d",1);}}this.bindStore(d,b)}
                  

                  А чтобы кеш в браузере не мешал, поправил темплейт
                  manager/templates/default/header.tpl
                  где к URL ext-all.js добавил query-параметр
                  <script src="{$_config.manager_url}assets/ext3/ext-all.js?v=3.4.0.1" type="text/javascript"></script> [ed. note: javascript last edited this post 9 years, 6 months ago.]
                    • 42886
                    • 3 Posts
                    Quote from: javascript at Oct 15, 2014, 03:33 PM
                    Круто, indomian! Интересно было бы узнать методику как "разобрать что происходит" в таком непростом случае.

                    На самом деле багу в ExtJS я тоже нашёл, но т.к. баг если быть совсем точным в Javascript движке хрома, то решил сам ExtJS не править (хотя там тоже упущена возможность бесконечного цикла и по хорошему надо делать дополнительные проверки), а поправить более доступный элемент системы, который более безопасно изменять.

                    А искал как обычно - комментировал всё то, что могло вызвать ошибки, сперва все элементы формы редактирования ресурса, как страница перестала зависать, стал помаленьку открывать их. Т.к. знал, что бага связана с датой особое внимание обратил на поля xdatetime, дальше проанализировал код обработки дат, там вроде всё ок, потом код обработки времени и там собственно нашёл метод где всё падало. Затем отмотал обратно и исправил код при помощи минимального вмешательства в файлы, собственно вот и результат.
                      • 49190
                      • 2 Posts
                      Да, пожалуй, то, что я полез править ExtJS, - это перебор smiley
                      За описание метода огромное спасибо!