Расширение Google Chrome - ожидание загрузки страницы - PullRequest
14 голосов
/ 26 октября 2010

В моем расширении Google Chrome у меня есть сценарий содержания (content.js) и фоновая страница (background.html). У меня context.js проверяет ключевое слово, которое появляется на странице. Тем не менее, я хочу подождать, пока страница не будет полностью загружена, пока я не выполню поиск на странице, потому что ключевое слово может находиться внизу страницы.

См. Действие страницы по содержимому пример сэндвича ( files ), это в основном то, что я делаю. Если вы загрузите расширение, вы увидите, что расширение работает только тогда, когда в верхней части страницы появляется слово «сэндвич».

Ответы [ 2 ]

18 голосов
/ 28 октября 2010

Попробуйте добавить это в часть "content_scripts" вашего файла manifest.json.

"run_at": "document_end"

http://code.google.com/chrome/extensions/content_scripts.html

6 голосов
/ 06 ноября 2017

В качестве альтернативы манифесту "run_at": "document_end" может быть применен стандартный подход обработки событий JavaScript.Например, событие DOMContentLoaded может использоваться для запуска логики, требующей загрузки DOM.

manifest.json

"content_scripts": [
        "js": ["content.js"],
        "run_at": "document_start"
    }
]

content.js

console.log('The extension works');
// ... logic that does not need DOM

function run() {
  console.log('The DOM is loaded');
  // ... logic that needs DOM
}

document.addEventListener("DOMContentLoaded", run);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...