Uncaught TypeError: google.translate.TranslateService не является конструктором - PullRequest
0 голосов
/ 19 апреля 2020

<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
</head>
<body>
<p>Привет Мир!</p>
<script type="text/javascript">var  gtElInit = function gtElInit() {var lib = new google.translate.TranslateService();lib.translatePage('ru', 'en', function () {});}</script>
<script type="text/javascript" src="https://translate.google.com/translate_a/element.js?cb=gtElInit&amp;client=wt"></script>
</body>
</html>

Пример 2

<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
</head>
<body>
<p>Привет Мир!</p>
<script type="text/javascript" src="https://translate.google.com/translate_a/element.js?cb=gtElInit&amp;client=wt"></script>
<script type="text/javascript">var  gtElInit = function gtElInit() {var lib = new google.translate.TranslateService();lib.translatePage('ru', 'en', function () {});}</script>
</body>
</html>

При запуске этой страницы локально с рабочего стола в Chrome - работает (русские слова после загрузки страницы переводятся на английский sh). Так что это хорошо работает во фрагменте здесь!

Но когда вы помещаете страницу на сайт и запускаете как обычный сайт из сети - это НЕ РАБОТАЕТ (русские слова не переводятся). Веб-страница здесь: http://www.shram.kiev.ua/bak/1.shtml

Ошибка: Uncaught TypeError: google.translate.TranslateService не является конструктором

Я действительно не понимаю знаю js но мне действительно нужно исправить. Помогите пожалуйста. И, пожалуйста, дайте исправить мою топи c, потому что я прочитал все темы о "не является конструктором", но не понимаю: (

1 Ответ

0 голосов
/ 19 апреля 2020

Вам нужно загрузить библиотеку перевода, прежде чем пытаться ее использовать. На странице HTML теги <script> загружаются в том порядке, в котором они отображаются, поэтому вам нужно переместить тег скрипта, загружающий Google translate, над тегом скрипта, где вы пытаетесь его использовать.

...