Использование GM_xmlhttpRequest для получения содержимого кросс-сайта в файле greasemonkey [duplicate]

Какой целевой API вы используете в своем проекте? AndroidHttpClient предназначен только для уровня API 8. и посмотрите здесь

, наслаждайтесь своим кодом:)

11
задан Brock Adams 17 September 2011 в 07:33
поделиться

2 ответа

Текущие версии Chrome (13.0.781 или новее) теперь поддерживают большинство или все функциональные возможности GM_xmlhttpRequest() Doc , включая междоменные запросы. См. Проблема 18857: Поддержка межсайтового XMLHttpRequest в сценариях контента .

Итак, этот скрипт отлично работает сейчас в Chrome (и Firefox, конечно):

// ==UserScript==
// @name            _Cross domain (XSS) GM_xmlhttpRequest, Chrome too
// @include         http://stackoverflow.com/*
// @grant           GM_xmlhttpRequest
// ==/UserScript==

GM_xmlhttpRequest ( {
    method:     "GET",
    url:        "http://www.google.com/",
    onload:     function (response) {
                    console.log (   response.status,
                                    response.responseText.substring (0, 80)
                                );
                }
} );

(установите этот скрипт, затем просмотрите любую страницу SO.Сценарий будет записывать первые 80 символов главной страницы Google на консоль.)

9
ответ дан Brock Adams 18 August 2018 в 09:26
поделиться
  • 1
    Благодарю. Я не смотрел мой учетный текст в возрасте, это определенно дает мне повод убедиться, что он совместим с Chrome. – Pranav 20 September 2011 в 17:38
  • 2
    Обратите внимание, что это работает только для @require (как и выше), не для @match . Последний бросит XMLHttpRequest cannot load [...] Origin chrome-extension://[...] is not allowed by Access-Control-Allow-Origin. – Arjan 27 February 2013 в 01:02

Начиная с Chrome 13 вы можете выполнять запросы на кросс-начало в Content Scripts, если вы включили разрешение на веб-сайт в манифесте.

Пользовательский скрипт в Chrome является скриптом содержимого. Скрипты содержимого не могут создавать XHR с поперечным происхождением. Если вы хотите сделать XHR с кросс-началом, это должно быть сделано на страницах расширения (фон, всплывающее окно, параметры).

Для получения дополнительной информации: http://code.google.com/ chrome / extensions / content_scripts.html http://code.google.com/chrome/extensions/xhr.html

5
ответ дан Mohamed Mansour 18 August 2018 в 09:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: