Расширение для 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, время: 18:35. |