Расширение для Chrome
Здравствуйте, господа и дамы. Третий день мучаюсь, создавая расширение парсер страницы. Надеюсь вы мне сможете мне помочь.
Суть в том, что я подключаю JQuery, но он не видит текст страницы. В данном случае строчка var test = $('.mydiv').text(); выполненная из скрипта не приводит ни к чему кроме пустой строки. При этом в консоли когда пишу те же строчки, то всё нормально. Подскажите пожалуйста, что я делаю не так. В туториалах написано, что скрипты content_scripts прописанные в manifest.json имеют доступ к DOM. И по идее то должно работать. Можно конечно получить URL страницы из строки браузера, но это помоему костыли, и в этом случае придется еще раз загружать страницу.
$(document).ready(function () {
console.log("parser_ready");
var test = $('.mydiv').text();
console.log("var test");
console.log(test);
console.log("log test");
$('#wrapper').html("test");
});
|
Цитата:
console.log( $('.mydiv').length);
|
Скрипт работает когда вся страница загрузится. Там в manifest Указано что
"content_scripts":
[
{
"matches": ["*://*/*"],
"js": ["js/jquery-3.1.1.min.js","js/parser.js"],
"run_at" : "document_end"
}
Тоесть чтобы срабатывал вконце. Когда уже всё загрузилось. насчет legth показывает что длинна 0. Но если в консоли вводить то все как надо. Предлагаете таймером подождать? А в скрипте там
$(document).ready(function () {
оно же так и говорит что на реди должно работать только. |
Цитата:
$(window).load(function () {
|
Оттянул на 2 секунды таймаутом, всё стало работать. Спасибо за подсказку.
|
| Часовой пояс GMT +3, время: 19:22. |