В настоящее время работает над проектом CeF3 C ++, я столкнулся с проблемой, которая кажется довольно упряма и действительно замедляет процесс развития вниз.
Наше приложение должно обслуживать SPA. Я читал, что схема file://
не очень подходит для загрузки локальных данных в браузер, поэтому мы приступили к реализации CefSchemeHandler
и CefSchemeHandlerFactory
, которые на данный момент не предоставляют нам ничего, кроме файлов для нашего SPA ,
Теперь к проблеме: мы специально хотим загрузить React, React-DOM и Babel, как указано здесь:
https://unpkg.com/react@16.3.2/umd/react.production.min.js
https://unpkg.com/react-dom@16.3.2/umd/react-dom.production.min.js
https://unpkg.com/babel-standalone@6/babel.min.js
При загрузке их через тег сценария из CDN все работает нормально. Я получаю только ошибку перекрестного источника для нашего пользовательского скрипта приложения с типом mime text/babel
. Однако мы хотим загрузить все «офлайн» через SchemeHandler, и именно здесь возникает проблема.
Если я загружаю скрипты в windows и возвращаю их в пользовательский домен через обработчик схемы, все, что мы получаем, это синтаксическая ошибка в начале каждого скрипта. Иногда для !
перед функцией, иногда что-то еще.
Что бы мы ни делали, это, похоже, не сработало.
Я уже проверил, все байты (весь скрипт) загружаются в браузер, поэтому нет потери данных.
Как правильно реализовать CefSchemeHandler
и предоставлять локальные огромные скрипты и файлы в браузер?
Редактировать: Для большей ясности я хотел бы добавить, что в основном вопрос касается возможных причин получения синтаксической ошибки для тех же самых сценариев, обслуживаемых через CefSchemeHandler, по сравнению со всем, что прекрасно загружает их через файл: // или через CDN.
Редактировать 2: я изменил пользовательскую схему на https: // и теперь CORS работает. Однако у меня все еще есть очень странная проблема с загрузкой js. Вот конкретный пример: я загружаю свой index.html через https (работает). Затем я загружаю response.js через относительный путь (работает)
<script type="application/javascript" src="lib/react.production.min.js"></script>
Тогда я хочу загрузить React-DOM:
<script type="application/javascript" src="lib/react-dom.production.min.js"></script>
И я получаю [0511/083919.988:INFO:CONSOLE(75)] "Uncaught SyntaxError: Invalid or unexpected token", source: https://test/lib/react-dom.production.min.js (75)
.
Теперь странная вещь : Если я загружаю скрипт (реагирующий дом) из https://unpkg.com/react-dom@16.3.2/umd/react-dom.production.min.js
(это точно такой же скрипт), все работает!
Помогите, пожалуйста!