пишем расширение для chrome
Приветствую!
Господа подскажите пожалуйста кодом. Пытаюсь написать расширение для хрома должна быть панелька с 5 кнопочками и текстовыми полями для логина и номера проекта (по идее всплывающая панелька) nick и номер project (должны сохраняться) При отсылке запроса вида http://my_google/OutData.php?nick=" + nick + "&project=" + project мы получаем html такого формата: <div class="version">1.0.2</div> <div class="status">1</div> <div class="URL">http://url.com</div> <div class="url_id">42323</div> <div class="project">13</div> <div class="todo">3</div> при нажатии на кнопку, необходимо спарсить текст с полученной странички, то есть получить в глобальные переменные значения Код:
version=1.0.2 После загрузки страницы нажимаем на кнопку, например: Сайт Принят при этом формируется ответ серверу и отсылается. Цикл повторяется, формируем входящий, получаем ссылку, смотрим ее, отправляем ответ. Ответ формируется в виде: url = "http://my_google/InData.php?project=" + project + "&url_id=" + url_id + "&todo=" + todo + "&terms=" + terms + "&nick=" + nick; в terms записываем, что "Сайт принят". После нескольких часов блужданий и копаний наваял вот такое: в background.js //получение кода страницы function new_post_data(name, number){ console.log(name+" "+number); (странно но консоль почему-то не работает) //создаем хак xhr0 = new XMLHttpRequest(); xhr0.onreadystatechange = function(){ // дожидаемся загрузки if (xhr0.readyState == 4){ var text = xhr0.responseText; alert(text); //также не пашет() // попытка получить урл из загруженной страницы var url = f_parse_text_ant(text); //открываем страничку в новой вкладке page_info(url); } else { } } var formData = new FormData(); xhr0.open("GET", 'http://my_google/OutData.php?nick=' name '&project=' number); xhr0.send(formData); } //пытаемся разобрать текст, пока что просто хотел получить урл function f_parse_text_ant(text){ var st=text; var s1; var url= new Array(); var res_parse_new = new Array(); // подозреваю что регулярка, если она вообще здесь нужна, должна быть поменьше. var pattern= /~^(?:(?:https?|ftp|telnet)://(?:[a-z0-9_-]{1,32}". "(?::[a-z0-9_-]{1,32})?@)?)?(?:(?:[a-z0-9-]{1,128}\.)+(?:com|net|". «org|mil|edu|arpa|gov|biz|info|aero|inc|name|[a-z]{2})|(?!0)(?:(?». "!0[^.]|255)[0-9]{1,3}\.){3}(?!0|255)[0-9]{1,3})(?:\/[a-z0-9.,_@%&". "?+=\~\/-]*)?(?:#[^ '\"&]*)?$~i/; var res; var i=0; while ( (res = pattern.exec(st)) != null) { url[i]=res[1]; i++; } return url; } //открытие в новой вкладке. function page_info(p_url){ chrome.tabs.create({url: p_url}); } Помогите пожалуйста дореализовать :help: . Заранее спасибо :thanks: . p.S. Простите если написал не в тот раздел. Не смог определится. |
Часовой пояс GMT +3, время: 11:12. |