Как я могу найти несколько слов в элементе, а затем предупредить меня, какие из них были найдены? - PullRequest
0 голосов
/ 25 апреля 2019

Новичок Greasemonkey здесь. По сути, я ищу для поиска определенные ключевые слова (может быть, больше, везде) в элементе с текстовым содержимым, и если он находит какое-либо 1 или более из этих слов, я пытаюсь, чтобы мой сценарий повторил мне какие из них он нашел в сообщении с предупреждением. Я нашел целую кучу решений с помощью других вопросов SO, которые очень близки к тому, что я ищу, но не совсем подходят мне.

Мой предыдущий вопрос здесь касался массивов, и я снова вернулся к этому вопросу с еще одним беспорядком в массивах. Вот то, что я думаю, должно работать, но пока не повезло. Что я делаю не так?

   var keywords = ["maybe","more","everywhere"]
   var searcharea = document.querySelector('#content > div > section > div.hero-body > div > div > div > p')

if(searcharea.innerHTML.indexOf(keywords) !== -1) {
        keywords.forEach(item=> {
    console.log ("Hey! We found the words" + item + "in this message!");
    }
}

Я тоже пытался использовать что-то подобное, это поставило бы меня на правильный путь?

var words = searcharea.innerHTML.split(" ");

1 Ответ

0 голосов
/ 25 апреля 2019

Попробуй так:

var keywords = ["maybe","more","everywhere"]
var searchArea = document.querySelector('#content > div > section > div.hero-body > div > div > div > p')
var searchString = searcharea.innerText

keywords.forEach(keyword => {
  if(searchString.indexOf(keyword) !== -1) 
    console.log(`Found ${keyword}!!`)
})
...