Расширение Chrome для разбора результатов поиска Google - PullRequest
4 голосов
/ 07 февраля 2012

Я пытаюсь сделать небольшое расширение, которое проверяет результаты поиска в Google для статей в Википедии и добавляет небольшую дополнительную ссылку после этого. Но у меня возникли небольшие проблемы с анализом результатов поиска. В настоящее время это очень просто.

Manifest:

{
"name": "Test",
"version": "0.1",
"description": "Test Test",
"icons":{
    "128":"icon_128.png"
    },
"permissions": [
    "tabs",
    "http://www.google.com/*",
    "https://www.google.com/*"
],
"content_scripts": [
    {
      "matches": ["http://www.google.com/*", "https://www.google.com/*"],
      "css": ["style.css"],
      "js": ["jquery-1.7.min.js", "injector.js"],
      "run_at": "document_end"
    }
],
"manifest_version": 2
}

И инжектор:

function findWikipediaLinks(){
console.log("here I am!");
console.log($('a'));
//.css({'background-color': 'yellow'});
}

findWikipediaLinks();

Кажется, проблема в том, что код запускается до того, как будут показаны фактические результаты поиска. (Зарегистрированные результаты обозначены буквой «a» в строке заголовка Google. Есть ли способ рассчитать это?)

1 Ответ

4 голосов
/ 07 февраля 2012

Google загружает результаты через AJAX, поэтому вам нужно использовать прослушиватель событий для DOMNodeInserted событий.

function filterResultInserts(event) {
  console.log(event);
}

target.addEventListener('DOMNodeInserted', filterResultInserts);

В пределах filterResultInserts вам придется искать классы или идентификаторы, которые соответствуют результатам, и изменять их.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...