======================================================
注:本文源代码点此下载
======================================================
@jeffrey zhao
在赵老师面前就不敢班门弄斧了。
其实就是用隐藏iframe嵌入一个特殊页面做代理;利用片段标识符传递调用指令,以避免不必要的服务器请求;用window的name属性来传递超长json,已突破url只能传有限数据的问题;关键是不要和浏览器的安全屏障对着干,而是顺着它往前走,走到自己域上才能回头。
俺把这称为“特使协议”,大意是:
中国政府有自己的域名gov.cn,美国政府也有自己的域名gov.us。
显然,现在的域名安全标准是不允许gov.cn里的javascript去访问和控制gov.us域名里的数据和对象的,包括变量,代码,dom等等,cookie也不例外。
那么,中国gov.cn要求美国gov.us提供服务(比如,提供外逃贪官财产资料),但美国是不准外人插手国内事务的,他并不相信中国。其实,中国并不是要插手美国的内政,中国只需要结果,该怎么办呢?
中国gov.cn可以把请求提交给美国大使馆,美国使馆的域名也是gov.us,但在中国境内。美国政府是相信自己的使馆的,于是按美国使馆转来请求,取得了结果。
不过,美国政府也不能直接把结果放到中国政府的办公室,中国也不允许的。因为让外人进来就可能窃取gov.cn的其他情报。又该怎么办呢?
美国gov.us同样也可以把结果交给美国境内的中国使馆,中国使馆的域名也是gov.cn,中国政府当然相信了。
与是,通过中美两国使馆的相互传递,中国gov.cn就成功取得美国gov.us提供的信息和服务。但所有过程完全遵循国际法,大家都认为是安全的!
所以,俺就把这套跨域名的交互协议称为“特使”协议,或者“使馆”协议。名字还没最后定,大家觉得那个名字更好?
想像力很重要...
======================================================
在最后,我邀请大家参加新浪APP,就是新浪免费送大家的一个空间,支持PHP+MySql,免费二级域名,免费域名绑定 这个是我邀请的地址,您通过这个链接注册即为我的好友,并获赠云豆500个,价值5元哦!短网址是http://t.cn/SXOiLh我创建的小站每天访客已经达到2000+了,每天挂广告赚50+元哦,呵呵,饭钱不愁了,\(^o^)/