Я пытаюсь заменить слова на google chrome, но столкнулся с проблемой. Я могу успешно заменить определенные слова, но он убивает связанные html-ссылки.Заменить текст, но сохранить ссылки в сценариях контента для расширения google chrome
Как сохранить ссылки в реальном времени и по-прежнему заменить текст?
Это код в моем сценарии контента расширения хрома:
wordDict = {"the":"piano","and":"Hello", "a":"huh?"};
for (word in wordDict) {
document.body.innerHTML = document.body.innerHTML.replace(
new RegExp('\\b' + word + '\\b',"gi"), wordDict[word]
);
};
Как об использовании innerText вместо innerHTML? –
Просто прогуливаясь по дереву DOM. Вместо того, чтобы заменить заменяемое мозгом простое регулярное выражение, посмотрите на '.innerText'member каждого узла в дереве и замените текст в _there_. (а) он не коснется целевых ссылок, (б) он не заставит всех слушателей событий быть отброшенными. – enhzflep
Если вы можете использовать jQuery .. '$ ('a'). Text (« Anything »);' вы также можете запустить 'jQuery.each()' iterator – miguelmpn