Обучение и трудоустройство Java-программистов от Junior до Senior

Перевод сайта через replace - JavaScript

 
 
 
Сообщения:1
Спрашивал на 2-х форумах, но там тишина))

Хочу сделать для себя перевод сайта hltv.org (локально, только на моём ПК). Для этого скачал расширение Tampermonkey для браузера. В нем написан следующий код

// ==UserScript==
// @name         hltv.org - перевод
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  try to take over the world!
// @author       You
// @match        https://www.hltv.org/*
// @grant        none
// ==/UserScript==
document.body.innerHTML = document.body.innerHTML.replace('News', 'Новости');

Он работает, русские слова встают взамен английских, сайт переведен. Но! Такой заменой ломаются ссылки на стримы - они не открываются. Почитал на англоязычных форумах что у людей такие же проблемы с innerHTML.replace и предлагают другие варианты замены текста. Но, к сожалению, скрипты для меня темный лес, и я не смог сделать замену текста по другим примерам.

Вот что нашёл на англоязычном форуме:

The function below works perfectly for me:
function replaceText(selector, text, newText, flags) {
  var matcher = new RegExp(text, flags);
  var elems = document.querySelectorAll(selector), i;

  for (i = 0; i < elems.length; i++)
    if (!elems[i].childNodes.length)
      elems[i].innerHTML = elems[i].innerHTML.replace(matcher, newText);
}

Here's a usage example:
function replaceAllText() {
  replaceText('*', 'hello', 'hi', 'g');
}

$(document).ready(replaceAllText);
$('html').ajaxStop(replaceAllText);


Вот только не работает(( Что нужно подправить?
 
Модераторы:Нет
Сейчас эту тему просматривают:Нет