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

Я пытаюсь написать простое расширение Chrome, которое проверяет, существует ли определенное слово на отображаемом в данный момент веб-сайте.

У меня проблемы с файлами js. Я конечно уверен, что они не работают так, как они должны, но, что еще хуже, нет возможности проверить это. Кнопка расширения всегда гласит, что слова не существует на веб-сайте (здесь для упрощения я использую «Википедию» и проверяю его на веб-сайте Википедии, но это может быть что угодно.

content.js

chrome.runtime.onMessage.addListener(
    function (request, sender, sendResponse) {
        if (request.action === "checkForWord") {
            checkForWord(request, sender, sendResponse);
            return true;
        }
    }
);

function checkForWord(request, sender, sendResponse){
    var scripts = document.getElementByTagName("*");
    for (var i=0;i<scripts.length;i++) {
        if (scripts[i].indexOf("Wikipedia")>-1){
            return sendResponse(true);
        }
    }
    return sendResponse(false);
}

popup.js

document.addEventListener("DOMContentLoaded", function(event) {
    var resultsButton = document.getElementById("getResults");
    resultsButton.onclick = getResults;
});

function getResults(){
    chrome.tabs.query({ active: true, currentWindow: true }, function (tabs) {
        chrome.tabs.sendMessage(tabs[0].id, { action: "checkForWord" }, function (response) {
            showResults(response);
        });
    });
}

function showResults(results) {
    var resultsElement = document.getElementById("results");
    resultsElement.innerText = results ? "This page contains red flag keywords" : "This page does NOT contain red flag keywords";
}

popup.html

<!doctype html>
<html>
    <head>
        <title>RFchecker</title>
        <script src="popup.js"></script>
    </head>
    <body style="background-color:#0F0;width:160px;height:90px;">
        <div id="status">
            <button id="getResults">Get Results</button>
            <h4 id="results"></h4>
        </div>
    </body>
</html>

Что я ожидаю увидеть, так это то, что где-то на сайте есть слово из Википедии: «Эта страница содержит ключевые слова красного флага», в противном случае «Эта страница НЕ содержит ключевых слов красного флага».

Спасибо за любую помощь!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...