最近在做一个功能,把gmail嵌入自己的网站,本来也不是什么大问题,但是老大要求使用https协议来保证账户和密码的安全

好不容易等到安全证书审批下来,后台的搭了一个tomcat服务器,打开https就准备开工了,结果遇上该死的跨域问题

本来跨域也不难解决,不论是子域跨域(one.aaa.com 到 two.aaa.com的跨域) 或者网站跨域(www.aaa.com到www.bbb.com)都可以用jsonp或者iframe解决

令人奔溃的的是浏览器对于域名一样,协议或端口不同的网站都认为是跨域

  • jsonp只能使用get的方式,要保证安全,只能用post方式
  • iframe的方式返回的代码没有权限调用顶层的代码

于是就卡死在这里了

网上google了好多次,都他妈的一样的文章,协议和跨域前台无法解决

跟老大们讨论了一下,总算找到了一个方法

  1. 在使用https的网站(bbb.com)是建一个页面gmail.html,在该页面执行gmail的登录和收发邮件
  2. 然后在aaa.com的页面使用iframe嵌入

最终的结果就是把gmail.html做成了一个完全自给自足的app,相当于把外站嵌进来了

无论怎样,总算把它吃进来了,不知道还有没有其他办法,欢迎各位拍砖讨论。

Comments
Write a Comment
  • skua reply

    我也遇到这样的状况。

Tags

css3   魅力CSS   nodejs   loading   CSS   疯狂的菊花   html5   animation   compiler   编译脚本   png   WordPress   智能   旅行   优化   模板   历史记录   跨域   manifest   frame   canvas   动画   js   离线应用   codelet   transform   抽取   java   兼容问题   发布脚本   富文本   那一年在他乡   htaccess   iframe   帧动画   加载速度   intelligent   跨浏览器   DNS解析   插件   checkbox   单边   step-start   vary   复选框   自动更新   转换   文本溢出   盒子阴影   menu   blob   西安   滑动背景   box-shadow   内存占用   键盘事件   python   auto   text overflow   background   所见所得   android   rotate   字节数   合并   文本框   slide   字符串连接符   协议   伪类   兄弟选择符   网格   节点位置比较   空白   斜线拼接   自定义命令   溢出   clock   素描   无法更新   分隔符   字符编码   body   下载文件   精灵图   step   nodej   ubuntu   apache   css3选择器   创建文件   多级菜单   编辑状态   ajax   阴影   垂直   chrome   管道   时钟   firefox   背景   文件上传   createobjecturl   游记   下载   放射渐变   版本号   宽高   照片   localStorage   渐变背景   图片   图片拼接   属性值检测   自动生成   计算   返回键   oauth   合图   reset   调用   cavnas   漏洞   按钮   margin   线性渐变   xsrf   被黑   tab   checked   修复   border   消失   step-end   sprite   common-upload   菜单   兄弟选择器   字符串   svn   九寨沟   缩进   css遮罩   svg   添加系统服务   gzip   插入代码   动态   加速   模拟