Уважаемые, I. Я хотел бы сообщить о странном поведении Discourse. Мы используем версию 2.7.0.beta7 и недавно перенесли (или, точнее, подключили) систему из внутренней сети в публичный интернет. У нас возникла странная проблема.
Большинство иконок (те, на которые можно кликнуть) исчезли. Вот так:
Я был бы очень рад, если бы вы могли поделиться своими мыслями. II. Также (но, возможно, это не связано с предыдущей проблемой) — редактор пользовательского CSS не работает. Я вижу добавленный мной CSS всего на полсекунды, а затем он исчезает. В консоли сообщается о проблеме с ace.js:
Uncaught TypeError: this.element.style is undefined
i ace.js:1
a ace.js:1
y ace.js:1
edit ace.js:1
didInsertElement _admin-58c216d6bb14f7ee8451b6ef94ece0c6ea56c69b044ed8f4eea7934ec2ca3df8.js:315
n ace.js:1
a ace.js:1
didInsertElement _admin-58c216d6bb14f7ee8451b6ef94ece0c6ea56c69b044ed8f4eea7934ec2ca3df8.js:303
jQuery 10
onreadystatechange _application-860b04b192b4dea3c5cb7e8d5e3d423bcf05a15ff2f4d8faf26a5d550ab169d2.js:10090
c _application-860b04b192b4dea3c5cb7e8d5e3d423bcf05a15ff2f4d8faf26a5d550ab169d2.js:10083
c _application-860b04b192b4dea3c5cb7e8d5e3d423bcf05a15ff2f4d8faf26a5d550ab169d2.js:10168
jQuery 2
c _application-860b04b192b4dea3c5cb7e8d5e3d423bcf05a15ff2f4d8faf26a5d550ab169d2.js:10130
didInsertElement _admin-58c216d6bb14f7ee8451b6ef94ece0c6ea56c69b044ed8f4eea7934ec2ca3df8.js:302
jQuery 26
ace.js:1:247491
Что должно делать вышеуказанная кнопка с отсутствующим значком? Похоже, что это плагин или компонент темы, который её добавляет, и, возможно, значок не был зарегистрирован корректно?
Это также может быть проблемой плагина. Один из способов выяснить это — перейти по адресу /safe-mode, отключить все плагины и темы и проверить, работает ли редактирование CSS. Если да, то проблема в одном из плагинов.
Там была иконка гаечного ключа (Действия темы). Также, как вы можете (не можете) видеть на скриншоте, слева от текста «Ответ» обычно отображаются иконки: сердце, цепочка, ручка, закладка… Я проверю по вашему совету. Обновление: попробовал в безопасном режиме — изменений нет
Хм, да, это странно. Можешь сказать, какие плагины используются на твоём сайте?
Обновление: это действительно странная проблема, она последовательно влияет на иконки в некоторых местах приложения, но не во всех. Попробуй, возможно, переразвернуть?
Хорошо, @romanhruska, думаю, у меня есть возможное объяснение.
Что-то в вашем экземпляре принудительно добавляет префикс https к константе пространства имён SVG. Когда я проверяю JS-код, эквивалент этой строки в ядре возвращает https://www.w3.org/2000/svg, тогда как, как вы видите, в ядре должно быть http://www.w3.org/2000/svg. (Я также протестировал это локально, изменил эту строку на использование https, и у меня получилось идеальное воспроизведение.)
Есть ли у вас какие-либо патчи, которые делают это? Если нет, выполняет ли ваш сервер какие-то махинации, чтобы все строки http в JS преобразовывались в https?
Ба-бах!
Вы абсолютно правы. Это была проблема. Теперь ребята с серверов изменили настройку, и иконки, а также редактор, работают! Большое спасибо!!!
Мы всё ещё боремся с предупреждением о смешанном содержимом. Некоторые изображения, такие как иконки или логотип, в коде указаны как HTTP://, и, похоже, наша серверная магия на них не действует. Есть какие-нибудь идеи по этому поводу?
Ваш сайт изначально работал по http, а затем был перенесён на https? Возможно, вам нужно убедиться, что SiteSetting.force_https возвращает true. Если это так, возможно, потребуется выполнить перезапись. Из командной строки вам нужно будет запустить bundle exec rake posts:rebake.