Китайский URL корректно загружается в Edge, но не в других браузерах
Эта страница была разработана на английском языке, которая хорошо работает в браузерах Chrome и Edge. Некоторые члены сообщества попросили перевести его на китайский. Та же стратегия для создания страницы была взята со следующей получившейся страницей.
Проблема в том, что иногда страница с китайской версией не загружается. Особенно при вставке URL откуда-то еще. С другой стороны, при переходе с целевой страницы, области блога, он отображается правильно.
Как это исправить, чтобы он работал правильно для каждого браузера. Одна интересная вещь, которую я только что заметил, это то, что иногда копирование ссылки приводит к:
Иногда в:
3 ответа
Проверьте поставщика bundle.js для обновлений. Похоже, это старая версия.
function webpackContextResolve(req) {
return map[req] || (function() { throw new Error("Cannot find module '" + req + "'.") }());
// error occurs in above.
};
Чтобы отладить код загрузки веб-сайта, сначала перейдите на пустую страницу (about:blank). Затем отобразите и закрепите инструмент dev на пустой странице.... выберите вкладку отладки инструментов dev и в раскрывающемся списке выберите "Break on All Exceptions" (выглядит как знак "Стоп").
Не закрывая инструмент dev, вернитесь на пустую страницу и перейдите на английский, а затем на китайский сайты.... инструмент dev теперь будет работать с ошибками. Для устранения проблем с перехватом браузера. (найдите код, использующий анализатор userAgent браузера для загрузки различных версий веб-сайта). Используйте вкладку отладки инструмента dev, чтобы найти вхождения "navigator" или "userAgent".
Вы можете проверить, неправильно ли веб-сайт определяет функции браузера, изменив заголовок userAgent на вкладке Эмуляция инструментов dev. Как ни странно, изменение UAS в инструментах разработки в IE11 дает тот же результат... предполагая, что причиной является назначение enableLazy в bundle.js. var enableLazy = typeof document! == 'undefined' && typeof document.documentMode === 'number' || typeof navigator! == 'undefined' && typeof navigator.userAgent === 'string' && /\bEdge/\d/.test(navigator.userAgent);
Bundle.js, кажется, проблема.... проверьте веб-сайт поставщиков для обновления их программного обеспечения....
Также... вы установили язык страницы на en... это должно быть zh. eg.lang="гп"......
Ваша проблема заключается в bundle.js
удалив его, я получил вашу веб-страницу без проблем:
Вы поместили это в неподдерживаемое событие?
JS говорит:
- ПРИМЕЧАНИЕ. Это не будет работать правильно для неуниверсальных событий, таких как
change
*reset
,load
,error
, а такжеselect
, *
Я обнаружил некоторые проблемы из-за кодировки URL-адреса и различия между строчными и прописными буквами.
С PHP я делаю преобразование URI до разбора маршрутизатора:
if(strpos($_SERVER['REQUEST_URI'], '%') > 0){
$uri = $_SERVER['REQUEST_URI'];
$result = preg_replace_callback(
'/\%(\w{2})/',
function ($matches) {
return strtoupper($matches[0]);
} ,
$uri
);
$_SERVER['REQUEST_URI'] = $result;
}