Chrome中的GM_xmlhttpRequest?

时间:2010-11-17 03:09:39

标签: javascript google-chrome greasemonkey google-chrome-extension

当我尝试在chrome中使用它来访问我编写的简单API时,会抛出此错误:

XMLHttpRequest cannot load http://67.19.91.186/~needsed/api/get/ZEZrBZYIynQ. Origin http://bestofyoutube.com is not allowed by Access-Control-Allow-Origin.

从我一直在做的阅读中,看起来这是XSS的一个问题。是否真的无法访问chrome中的API?

2 个答案:

答案 0 :(得分:2)

这是对的。根据{{​​3}},他们计划这样做。

同时,您可以使用issue

答案 1 :(得分:2)

TamperMonkey扩展提供了一个功能齐全的Greasemonkey API,包括跨域GM_xmlhttpRequest。

https://chrome.google.com/extensions/detail/dhdgffkkebhmkfjojejmpbldmpobfkfo

Black Canvas Script Handler扩展程序也是如此,改进了GUI:

https://chrome.google.com/extensions/detail/pipnnjjknlabchljabhmnpdfpdobpnkk

我自己的解决方案是通过JSONP代理模拟GM XHR请求:

http://hwi.ath.cx/javascript/xhr_via_json/

除了需要代理外,它还会打开一个安全漏洞,因为回调函数必须嵌入unsafeWindow中。但至少它不需要用户安装任何额外的扩展!

让我们希望他们能够在2011年支持它。:))