Отображение панели инструментов TinyMCE в IE8 через https

У нас есть приложение, которое должно поддерживать IE8 (к сожалению); вот некоторые характеристики:

  • Руби 1.8.7
  • Рельсы 3.1.11
  • гем tinymce-rails, v4.0.12

При загрузке tinymce шрифт, необходимый для отображения значков панели инструментов, не загружается в IE8. Он просто показывает поля, указывающие на то, что шрифт не загружен.

Если ввести URL-адрес непосредственно в файл шрифта (.woff или .eot), что-то вроде:

https://mysite.com/assets/tinymce/skins/lightgray/fonts/tinymce.eot

IE показывает диалоговое окно загрузки с "0% tinymce.eot...", а затем окно с предупреждением, в котором говорится

«Internet Explorer не может загрузить tinymce.eot с mysite.com. Internet Explorer не смог открыть этот интернет-сайт. Запрошенный сайт либо недоступен, либо не может быть найден. Повторите попытку позже».

Странно то, что мы впервые столкнулись с этим на нашем сервере контроля качества и пришли к выводу, что проблема заключалась в том, что безопасный сертификат был самоподписанным, поэтому IE не загружал шрифт. Когда мы впервые запустили это приложение в производство (с действующим сертификатом), клянусь, я увидел, что эти значки отображаются правильно, и поэтому предположил, что шрифт загружается нормально. Но где-то на прошлой неделе (без известных мне изменений в приложении или инфраструктуре) значки/шрифт больше не загружаются.

Я искал и копал (на этом сайте и в Интернете) и не смог найти полезный шаг по устранению неполадок или исправить. Любая помощь или руководство будут высоко оценены!


person ilasno    schedule 08.05.2014    source источник


Ответы (2)


IE8 не позволяет загружать какой-либо контент с защищенного SSL-сайта. Он рассматривает ваш файл tinymce.eot как загружаемый файл и не позволяет загружать его через браузер.

Удаление заголовков ниже позволит загрузить файлы. Это можно сделать на вашем прокси или веб-сервере.

Cache-Control, Expires, Pragma

Для HTTP-сервера Apache


Заголовок удален Cache-Control
Заголовок удален Pragma Заголовок удален Истекает

person Siva    schedule 20.05.2014

Это может быть проблема, вызванная ошибкой междоменной политики в IE 8-11. Файлы шрифтов не будут загружаться в IE, потому что они обслуживаются из домена, отличного от того, который обслуживает страницу, на которую встроен TinyMCE.

Если это проблема, с которой вы столкнулись, ее можно решить либо путем предоставления файла шрифта через тот же домен, что и веб-страница, либо путем добавления правильных заголовков, позволяющих загружать шрифты из разных источников.

Вот несколько ссылок, которые могут помочь:

Теперь, если проблема не в этом (трудно сказать без ссылки на ваш сайт), то, возможно, попробуйте загрузить файл tinymce.eot из другого браузера и посмотрите, появляется ли по-прежнему какая-либо ошибка. Может файл поврежден? Может быть, отправляются неправильные заголовки? Если это еще не сделано, вы можете попробовать очистить кеш в IE (Control+Shift+Delete).


Если все это по-прежнему не помогает решить проблему, попробуйте добавить в файл .htaccess следующее:

<FilesMatch "\.(woff)$">
    Header unset Vary
</FilesMatch>

<FilesMatch "\.(eot)$">
    Header unset Vary
</FilesMatch>

См. дополнительную информацию здесь, где можно найти альтернативные решения: @font-face EOT не загружается через HTTPS

person Community    schedule 12.05.2014
comment
Я почти уверен, что это не междоменная проблема; тот факт, что IE задыхается от прямой ссылки на файл шрифта, поддерживает это. Из Firefox и Chrome версии шрифта .eot и .woff загружаются нормально, а панель инструментов редактора отображается правильно. Я попытался очистить кеш IE, а также его состояние SSL, но не в кости. :( Очень ценю ваше время и ваши мысли! - person ilasno; 13.05.2014
comment
@ilasno Я почти уверен, что это не междоменная проблема; Чтобы лучше помочь вам устранить эту проблему, не могли бы вы ответить Да или Нет на следующий вопрос: обслуживается ли файл .eot из того же домена и протокола, что и сама веб-страница? Спасибо, с нетерпением жду вашего ответа. - person Community; 13.05.2014
comment
да. В описании я также описываю, что IE не может загрузить файл шрифта, когда я обращаюсь к нему напрямую с таким URL-адресом: mysite.com/assets/tinymce/skins/lightgray/fonts/tinymce.eot (это тот же протокол и домен, что и мой сайт). Спасибо за ваше время, очень ценится! - person ilasno; 15.05.2014
comment
@ilasno Возможное исправление путем изменения заголовка ответа, проверьте этот ответ: stackoverflow.com/questions/7748140/ - person Community; 15.05.2014
comment
Спасибо, цените ваше время! - person ilasno; 21.05.2014