@Fithanso

Проблема с Cross-Origin Read Blocking. Как подключить html файл?

Приветствую.

Вообще, речь идёт о подключении виджета на сторонний сайт. Вставляется ссылка вида:
<script src="http://test.meconnect.ru/widget/test123.js" async></script><a href="https://meconnect.ru" style="position:absolute; left:-9999px;" alt="" /></a>

А когда серверу приходит запрос по src, то он просто разбирает его и выделяет никнейм(test123), ищет его в базе и т.д. Система изначально написана не мной, и работает корректно.Суть в том, что есть два php файла - один подключает второй. Во втором находится просто html разметка(ну и вывод парочки переменных средствами php). Проблемы начались, когда в первом подключающем файле с расширением php (а по факту там 95% кода на js) решил раскомментировать это:
switch($profile_account->template) {

    case 'one'      : 

    include_once 'profile_widget_one.php';
    
    break;
}

header("Content-Type: text/javascript");

Код писали до меня. Важный момент: switch работает корректно и подключает правильный файл.
Проблема в том, что когда запускаю скрипт, в консоль выводится предупреждение:
Cross-Origin Read Blocking (CORB) blocked cross-origin response test.meconnect.ru/widget/test123.js with MIME type text/html. See https://www.chromestatus.com/feature/5629709824032768 for more details.
Браузер не позволяет подключить php файл! Даже если отправить ему заголовок:
header("Content-Type: text/html")
Если при подключении отправить заголовок text/javascript, то естественно вылезет ошибка:
Uncaught SyntaxError: Unexpected token <
Читал про это в инете, но там у всех вопросы с ajax, без php. Может ajax-ом как-нибудь можно подключить?
Все файлы лежат на одном сервере. КАК БЫТЬ?
  • Вопрос задан
  • 6854 просмотра
Решения вопроса 1
TommyV888
@TommyV888 Куратор тега PHP
-
Проблема в том, что ваш php код возвращает html. Вы должны возвращать content type text/javascript, а в файле должен находится js код, который уже добавит html вашего виджета на страницу.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@heahoh
Full stackoverflow developer
У вас контент начинает отправляться до установки header
Поставьте строчку header("Content-Type: text/javascript"); до раскомментированного кода
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы