解决方法
不,绝对不可能.如果用户可以禁用它,那么它将成为任何有恶意或可疑的意图的主要目标,并且与任何其他软件一样易于利用.制作安全软件是非常困难的,没有画出更有吸引力的目标.
实现跨域Ajax的唯一方法是通过服务器端脚本路由请求.
值得一提的是,对于你来说,也许是一丝希望:cross-window messaging with HTML 5 postMessage的形式
这可能值得你阅读一些相关的(虽然我不知道他们是重复的)问题:
> Why the cross-domain Ajax is a security concern?
> Firefox Cross Domain Request
编辑响应评论:
So you mean have a script that takes the params,adds them to the request,sends it out,and then echos out the response object?
基本上是的图片格式:
client |--------------> | server side |-----------------------> | remote domain browser | <----ajax------| script | <------------------------|--/
编辑补充说,这是可能的,使用跨原始资源共享(CORS);其中来自一个域的脚本发送一个Origin HTTP头,说明页面的URL,并且服务器可以使用错误(如果CORS被禁用或不受支持)或任何请求的数据进行响应(如果配置为这样做).
参考文献:
> CORS compatibility.
> Cross-Origin Resource Sharing,at the W3.org.
> Enable Cross-Origin Resource Sharing.