Ошибки загрузки CEF JS (по пользовательской схеме) - PullRequest
0 голосов
/ 10 мая 2018

В настоящее время работает над проектом 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 (это точно такой же скрипт), все работает!

Помогите, пожалуйста!

...