Расширение Chrome: внедрить javascript на веб-страницу для выполнения запроса ajax?

Я разрабатываю расширение Google Chrome, которое добавляет уведомление, похожее на Windows Live Messenger, когда пользователь входит в Facebook, и поэтому мне нужно выполнить запрос ajax, чтобы получить некоторую информацию о пользователе (например, изображение профиля, полное имя из id и т. д.) Итак поскольку я не могу выполнить запрос ajax к Facebook напрямую (поправьте меня, если я ошибаюсь), можно ли внедрить файл Javascript на страницу facebook, а затем выполнить запрос ajax оттуда? Или это будет заблокировано, так как расширения работают в другой среде (Или они? Еще раз поправьте меня, если я неправильно понял это!) В данный момент у меня нет кода для показа, но мне просто интересно, возможно ли это, прежде чем я начать кодирование или, если мне нужен другой способ обойти это.

заранее спасибо


person Mathias    schedule 23.07.2011    source источник
comment
В официальном блоге Chromium я что-то читал, что вы уже можете выполнять AJAX-запросы без каких-либо инъекций. Насколько я помню, это как-то связано с Web Workers.   -  person nagisa    schedule 24.07.2011
comment
возможный дубликат UserScripts и Greasemonkey: вызов функций JavaScript веб-сайта   -  person genesis    schedule 24.07.2011


Ответы (2)


Чтобы внедрить его в голову, вы можете написать для него функцию

function exec(fn) {
    var script = document.createElement('script');
    script.setAttribute("type", "application/javascript");
    script.textContent = '(' + fn + ')();';
    document.body.appendChild(script); // run the script
    document.body.removeChild(script); // clean up
}

и используйте его в своем расширении, например

exec(function() {
    $("body").load('hacked.html');
});

взято из этого ответа

person genesis    schedule 23.07.2011

Расширениям Chrome разрешено отправлять ajax-запросы на любую страницу. Подробнее см. в документах.

person serg    schedule 23.07.2011