XHR с перекрестным исходным кодом из пользовательского скрипта в Google Chrome

StackOverflow https://stackoverflow.com/questions/1936639

Вопрос

Кому-нибудь удалось выполнить XHRS cross origin из пользовательского скрипта в Google Chrome?Запросы передаются на сервер (я вижу их в журналах), но, readystatechanged событие никогда не запускается.

Разрешения на расширение, похоже, не помогают.Как и JSONP.

Это было полезно?

Решение

Текущие версии Chrome (13.0.781 или более поздней версии) теперь поддерживают большинство или все GM_xmlhttpRequest()Док функциональность -- включая междоменные запросы.
Видишь Выпуск 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 в консоль.)

Другие советы

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top