2015-11-09 6 views
0

Я работаю с CKEditor 4.4.5 и его плагином Parser 4.4, но я получаю пустой список из раскрывающегося списка стилей.CKEditor Stylesheet Parser

Для того, чтобы мой вопрос легче понять, пожалуйста, попробуйте этот код (скачать с его сайта, например: http://sdk.ckeditor.com/samples/styles.html):

<!DOCTYPE html> 
<html> 

<head> 
    <meta charset="utf-8"> 
    <meta name="robots" content="noindex, nofollow"> 
    <title>Stylesheet Parser plugin</title> 
    <script src="http://cdn.ckeditor.com/4.5.2/standard-all/ckeditor.js"></script> 
</head> 

<body> 

    <textarea cols="80" id="editor2" name="editor2" rows="10" >&lt;p&gt;This is some &lt;strong&gt;sample text&lt;/strong&gt;. You are using &lt;a href="http://ckeditor.com/"&gt;CKEditor&lt;/a&gt;.&lt;/p&gt; 
    </textarea> 

    <script> 
     CKEDITOR.replace('editor2', { 
      extraPlugins: 'stylesheetparser', 
      height: 300, 

      // Custom stylesheet for editor content. 
      contentsCss: [ 'http://sdk.ckeditor.com/samples/assets/stylesheetparser/stylesheetparser.css' ], 

      // Do not load the default Styles configuration. 
      stylesSet: [] 

     }); 
    </script> 
</body> 

</html> 

Это действительно не работает. Но образец на этом сайте работает хорошо. Я также найти другой сайт примера: http://ckeditor.com/ckeditor_4.3_beta/samples/plugins/stylesheetparser/stylesheetparser.html

Я пытался скопировать весь код из источников этого демонстрационного сайта, но не получаю никакой удачи.

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

+0

междоменный запрос? Вы вытаскиваете код .js из cdn.ckeditor.com, но пытаетесь загрузить css с сайта sdk.ckeditor.com. в любом случае проверьте свой JS-запрос на наличие ошибок/предупреждений. –

+0

Ошибок в консоли нет. Загрузка css из sdk.ckeditor.com в порядке, потому что я думаю, что владелец сайта установил его для разрешения междоменного запроса. Кроме того, я попытался с моим местным файлом CSS. Те же результаты: пустой список. – Joey

ответ

0

Эта проблема вызвана запросом на перекрестный домен. Файл CSS находится на HTTP-сервере, а мое приложение работает с номером порта. Таким образом, они рассматриваются как запрос перекрестного домена.

Я также проверил HTML-страницу и файл CSS в локальных файлах. Тем не менее, файл: //...path по-прежнему рассматривается как запрос кросс-домена в Chrome, но FF и IE работают с этим должным образом.

Когда я попробовал это на сервере, он корректно работает с Chrome. К сожалению, не существует способа сделать работу с кросс-доменом в Chrome и Firefox.

0

Вы должны попробовать с этой версией: http://ckeditor.com/addon/stylesheetparser-fixed Официальный плагин имеет некоторые проблемы, так как очень давно, но они, похоже, не планируют их исправлять.

+0

Но тестируете ли вы с помощью таблицы междоменного стиля? Я не думаю, что это сработает, я только предложил этот плагин, потому что он помогает в обычных настройках, когда есть проблемы с кешем и время загрузки таблиц стилей – AlfonsoML

+0

Я думаю, что нашел проблему. Я использовал локальный файл css. Он отлично работает в IE и FireFox, но в Chrome он не работает. Проблема в том, что в функции LoadStylesCSS (theDoc, skipSelectors, validSelectors). theDoc.styleSheets [i] .cssRules всегда имеет значение null в Chrome. У вас такая же проблема в Chrome? @AlfonsoML – Joey

+0

Нет, у меня нет проблем с Chrome. Может, это из-за какого-то расширения, которое вы установили? – AlfonsoML

 Смежные вопросы

  • Нет связанных вопросов^_^