Расширение Chrome, которое заменяет строку в огне тела слишком поздно - PullRequest
0 голосов
/ 30 октября 2018

Я делал простое расширение для Chrome, чтобы заменить первое вхождение строки, которое я нахожу в теге body. Я поместил следующий код в content.js:

document.body.innerHTML = document.body.innerHTML.replace('Hello', 'Hi');

Проблема в том, что существует заметная задержка, когда оригинальный HTML виден до замены строки. Это особенно плохо на больших веб-страницах. Есть ли способ выполнить его раньше, что не приведет к ошибке тела, равного нулю?

1 Ответ

0 голосов
/ 30 октября 2018

Прежде всего, javascript на стороне клиента. Таким образом, вы должны ожидать, что страница будет загружаться первой (или требуемое содержимое DOM), прежде чем она будет искать Hello внутри DOM.

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

Для вас, чтобы получить это:

Этот будет быстрее, так как вы загрузите его на странице:

<p>Lorem Ipsum.</p>

<script>
document.body.innerHTML = document.body.innerHTML.replace('Lorem', 'Hi');
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...