Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Перевод страниц на лету (https://javascript.ru/forum/dom-window/85692-perevod-stranic-na-letu.html)

voraa 05.01.2024 12:58

Вот я просто тупо взял html файл отсюда
https://github.com/get-web/google-tr...ejs/index.html
js и css файлы
отсюда
https://github.com/get-web/google-tr...e-translate.js
и отсюда
https://github.com/get-web/google-tr...-translate.css
Все собрал, установил на локальный сервер.
Все работает.
Как, что, куда вы подключаете мне неизвестно.

Stas1985 05.01.2024 13:12

Вложений: 1
Цитата:

Как, что, куда вы подключаете мне неизвестно.
Делаю модуль для joomla, подключаю все как описано на гитхабе.
Модуль прикрепил, если есть joomla можете глянуть

voraa 05.01.2024 13:54

Я не знаком с joomla

Stas1985 05.01.2024 13:59

Попробовал на другом домене (сайте), все работает _https://studio-it.kz/
Получается проблема непосредственно на данном сайте. Подскажите пожалуйста, как выяснить в чем именно проблема. Скажу честно в JS не селен, совсем не селен. Помогите пожалуйста разобраться

Stas1985 05.01.2024 14:53

Как я понял проблема вот в этой ошибке
Ресурс с «https://translate-pa.googleapis.com/v1/supportedLanguages?%5Bobject%20Map%20Iterator%5D=%5Bobject%20Map%20Iterator%5D» был заблокирован из-за несоответствия MIME-типа («application/json») (X-Content-Type-Options: nosniff).

Но где подключается этот скрипт я не нашел. Можно ли обойти как то обойти ошибку несоответствия MIME-типа, может как то через .htaccess можно

voraa 06.01.2024 10:35

Цитата:

Сообщение от Stas1985
Получается проблема непосредственно на данном сайте.

И этот сайт зачем то использует service worker.
Не должно быть обращения
Цитата:

_https://translate-pa.googleapis.com/v1/supportedLanguages?%5Bobject%20Map%20Iterator%5D=% 5Bobject%20Map%20Iterator%5D
%5Bobject%20Map%20Iterator%5D=%5Bobject%20Map%20It erator%5D - это полнейшая чушь.
Те сайты, которые работают, делают осмысленное обращение
Цитата:

_https://translate-pa.googleapis.com/v1/supportedLanguages?client=te&display_language=ru&k ey=AIzaSyBWDj0QJvVIx8XOhRegXX5_SrRWxhT5Hs4&callbac k=callback

Nexus 06.01.2024 22:00

Вы решили свою проблему?
Сейчас, вроде как, ошибки с конфигом нет, но перевод работает криво - не переключает выбранный язык на другой.
Это связано с тем, что скрипт некорректно обновляет значение кукис, обновляется только одна из трех записей. Можете сами убедиться в этом воспользовавшись консолью.

Stas1985 08.01.2024 13:55

Цитата:

И этот сайт зачем то использует service worker.
service worker отключил, использовал его для запроса на установку ярлыка на смартфонах.

Цитата:

%5Bobject%20Map%20Iterator%5D=%5Bobject%20Map%20It erator%5D - это полнейшая чушь.
Те сайты, которые работают, делают осмысленное обращение
Да я понимаю что обращение неправильное но как исправить эту ошибку не знаю.

Цитата:

Вы решили свою проблему?
Нет, проблема так и осталась

Цитата:

Сейчас, вроде как, ошибки с конфигом нет, но перевод работает криво - не переключает выбранный язык на другой.
Удалил модули которые висели в консоли с ошибками и язык перестал вообще срабатывать

voraa 08.01.2024 17:05

Пара часов в отладчике и я понял в чем дело.
(но как вам помочь - не знаю)
Есть там один файл
js/mootools-core.js?9957067829b7c9c152dcce3464c5724d
В нем переопределяются некоторые стандартные функции js.
Вероятно это полифилы для браузеров, в которых их не было.
В нем криво переопределен полифил для Array.from.
Он неверно работает для случая
const  m = new Map();
m.set('a', 1);
m.set('b', 2);
m.set('c', 3);
const a = Array.from(m);

Вместо массива
[['a',1],['b',2],['c',3]]
Он возвращает массив из одного объекта
[MapIterator]

Не знаю будет ли что то работать без этого файла или нет.

PS И, кстати
https://mootools.net/core/docs/1.6.0...ated-Functions

Stas1985 09.01.2024 08:16

Цитата:

Сообщение от voraa (Сообщение 554404)
Пара часов в отладчике и я понял в чем дело.
(но как вам помочь - не знаю)
Есть там один файл
js/mootools-core.js?9957067829b7c9c152dcce3464c5724d
В нем переопределяются некоторые стандартные функции js.
Вероятно это полифилы для браузеров, в которых их не было.
В нем криво переопределен полифил для Array.from.
Он неверно работает для случая
const  m = new Map();
m.set('a', 1);
m.set('b', 2);
m.set('c', 3);
const a = Array.from(m);

Вместо массива
[['a',1],['b',2],['c',3]]
Он возвращает массив из одного объекта
[MapIterator]

Не знаю будет ли что то работать без этого файла или нет.

PS И, кстати
https://mootools.net/core/docs/1.6.0...ated-Functions

Это библиотека движка Virtuemart, если выпилить подключение mootools то при обновлениях движка он опять пропишется. Сам файл _update.lik-astana.kz/media/system/js/mootools-core.js при этом не обновляется


Часовой пояс GMT +3, время: 19:58.