当前位置:  开发笔记 > 编程语言 > 正文

来自Google Chrome中用户脚本的跨源XHR

如何解决《来自GoogleChrome中用户脚本的跨源XHR》经验,为你挑选了2个好方法。

有没有人有幸从谷歌浏览器的用户脚本执行跨源XHR?请求进入服务器(我可以在日志中看到它们),但readystatechanged事件永远不会被触发.

扩展权限似乎没有成功.JSONP也不是.



1> Brock Adams..:

当前版本的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页面.该脚本会将Google主页的前80个字符写入控制台.)



2> Mohamed Mans..:

从Chrome 13开始,如果您在清单中包含对网站的权限,则可以在内容脚本中执行跨源请求.

Chrome中的用户脚本是内容脚本.内容脚本无法生成跨源XHR.如果您希望进行跨源XHR,则应在扩展页面(背景,弹出窗口,选项)中完成.

有关详情,请访问:http : //code.google.com/chrome/extensions/content_scripts.html http://code.google.com/chrome/extensions/xhr.html

推荐阅读
linjiabin43
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有