ajaxtelamonid
@ajaxtelamonid
Laravel

Редактор ckeditor и файловое хранилище elfinder 1.х на другом домене

Скажите, как реализовать такую штуку ?

Хочу физически разнести файловое хранилище и основной сайт, чтобы хостилось в разных местах.
В настройках ckeditor подключаю elfinder как обычно:
filebrowserBrowseUrl : 'http://files.domain.ru/elfinder/elfinder.php'

Всплывающее окно elfinder появляется при нажатии в редакторе иконки вставки файла, все ок. Проблема в том, что при попытке выбрать файл и передать в редактор html-код отображения ссылки на файл, в окне elfinder в консоли получаю следующее:

Uncaught SecurityError: Blocked a frame with origin "files.domain.ru" from accessing a frame with origin "domain.ru". Protocols, domains, and ports must match.

Срабатывает эта ошибка на window.opener в скрипте, который расположен на странице elfinder:
$().ready(function() {
    var funcNum = window.location.search.replace(/^.*CKEditorFuncNum=(\d+).*$/, "$1");
    var langCode = window.location.search.replace(/^.*langCode=([a-z]{2}).*$/, "$1");
     $('#finder').elfinder({
       url : 'connectors/php/connector.php',
       lang : langCode,
       places: "", // отключить избранное
       editorCallback : function(url) {
          window.opener.CKEDITOR.tools.callFunction(funcNum, url);
          window.close();
       }
    })
  })

Заголовки 'Access-Control-Allow-Origin: *' в http-респонс ставил и на files.domain.ru и на domain.ru - не помогает.

Подскажите пожалуйста, как быть ?
  • Вопрос задан
  • 3496 просмотров
Пригласить эксперта
Ответы на вопрос 1
35e8
@35e8
Access-Control-Allow-Origin заголовок кроссдоменного ajax. Ваш сервер его поддерживает? Я для web api (asp.net) использовал CORS пакет (Microsoft.AspNet.Cors)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы