最近在做一个功能,把gmail嵌入自己的网站,本来也不是什么大问题,但是老大要求使用https协议来保证账户和密码的安全
好不容易等到安全证书审批下来,后台的搭了一个tomcat服务器,打开https就准备开工了,结果遇上该死的跨域问题
本来跨域也不难解决,不论是子域跨域(one.aaa.com 到 two.aaa.com的跨域) 或者网站跨域(www.aaa.com到www.bbb.com)都可以用jsonp或者iframe解决
令人奔溃的的是浏览器对于域名一样,协议或端口不同的网站都认为是跨域
- jsonp只能使用get的方式,要保证安全,只能用post方式
- iframe的方式返回的代码没有权限调用顶层的代码
于是就卡死在这里了
网上google了好多次,都他妈的一样的文章,协议和跨域前台无法解决
跟老大们讨论了一下,总算找到了一个方法
- 在使用https的网站(bbb.com)是建一个页面gmail.html,在该页面执行gmail的登录和收发邮件
- 然后在aaa.com的页面使用iframe嵌入
最终的结果就是把gmail.html做成了一个完全自给自足的app,相当于把外站嵌进来了
无论怎样,总算把它吃进来了,不知道还有没有其他办法,欢迎各位拍砖讨论。
我也遇到这样的状况。