Недавно я работал с jQuery и столкнулся с проблемой, когда я не мог включить ее в пользовательский скрипт, потому что XmlHttpRequest использует ту же самую политику происхождения. После дальнейшего тестирования я обнаружил, что большинство браузеров также поддерживают управление доступом к ресурсам Cross-Origin, определяемое W3C как обходное решение для проблем с одинаковой политикой происхождения, Я протестировал это, разместив jQuery script на локальном веб-сервере, который включал заголовок Access-Control-Allow-Origin: *
http, который позволял загружать script с помощью XmlHttpRequest, чтобы он мог быть включен в мой usercript. Я бы хотел использовать размещенную версию jQuery при выпуске script, но пока тестирование с помощью таких инструментов, как http://www.seoconsultants.com/tools/headers У меня есть не найдены сайты, разрешающие перекрестный доступ к jQuery script. Вот список, который я тестировал до сих пор:
- http://www.asp.net/ajaxlibrary/CDN.ashx
- http://code.google.com/apis/ajaxlibs/documentation/index.html#jquery
- http://docs.jquery.com/Downloading_jQuery#CDN_Hosted_jQuery
Существуют ли какие-либо другие размещенные версии jQuery, которые разрешают доступ к перекрестному происхождению? Я знаю, что jQuery обычно загружается через тег script (иногда динамически созданный тег script), но в этом конкретном случае я должен использовать XmlHttpRequest и Eval, чтобы убедиться, что он загружен в правильную область. Google Chrome поддерживает пользовательские скрипты, но не поддерживает @require, что означает единственный способ использования jquery в пользовательском script в Google Chrome - внедрить его в. user.js или загрузить файл и загрузить его через XmlHttpRequest. Встраивание является менее оптимальным решением, и в то время как расширения Chrome позволяют включать jQ файлы jQuery в расширениях, я бы предпочел придерживаться пользовательских скриптов, поскольку они намного проще и могут работать не только в одном браузере. Я уже отправил билеты с помощью API Google Ajax и jQuery, чтобы разрешить доступ к междоменному доступу к CDN, но я предполагаю, что мне просто нужно будет разместить его сам на данный момент.