2010-10-25 3 views
10

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

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

ответ

1

В качестве альтернативы манифеста, "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); 
Смежные вопросы