换种思路解决http与https之间的页面调用问题
2012-01-07 11:17
363 查看
业务场景:
主页面为http协议的普通页面。
子页面为https协议的页面。
两张页面处于同一个域名,只是协议不同。从浏览器角度而言应该属于跨域问题。
业务要求:
主页面在加载子页面里需要传递参数给子页面。
子页面在处理完成后需要回调父页面的方法。
业务示例:
主页面有按钮,点击后弹出登录窗口,该登录窗口为iframe方式嵌入一个单独的JSP页面。
问题描述:
在未采用https的时候,父页面直接调用子页面的方法获取父页面的参数。在子页面处理完成后也是直接调用父页面的方法完成后续处理任务。
在改用https后,父页面无法调用子页面的方法,子页面也无法调用父页面的方法,具体的原因就是出现无权限访问。
问题分析:
针对跨域的问题,采用通常的document.domain及jsonp均无法解决子页面调用父页面的问题。
解决方案:
换种思路,既然子页面是因为协议与父页面不同导致无法调用,那我们只要想法变成相同的即可。
具体步骤如下:
对于父页面传递给子页面参数的问题,可以直接在URL后面跟上需要传递的参数即可(对于大数据量不可使用)
对于子页面调用父页面的问题,可以在子页面处理完成后,使用window.location.href的方式先跳转到一个http协议的中间页面,再由该页面去调用父页面的方法即可。如果需要传递参数,一样直接使用URL追加相应的参数。
主页面为http协议的普通页面。
子页面为https协议的页面。
两张页面处于同一个域名,只是协议不同。从浏览器角度而言应该属于跨域问题。
业务要求:
主页面在加载子页面里需要传递参数给子页面。
子页面在处理完成后需要回调父页面的方法。
业务示例:
主页面有按钮,点击后弹出登录窗口,该登录窗口为iframe方式嵌入一个单独的JSP页面。
问题描述:
在未采用https的时候,父页面直接调用子页面的方法获取父页面的参数。在子页面处理完成后也是直接调用父页面的方法完成后续处理任务。
在改用https后,父页面无法调用子页面的方法,子页面也无法调用父页面的方法,具体的原因就是出现无权限访问。
问题分析:
针对跨域的问题,采用通常的document.domain及jsonp均无法解决子页面调用父页面的问题。
解决方案:
换种思路,既然子页面是因为协议与父页面不同导致无法调用,那我们只要想法变成相同的即可。
具体步骤如下:
对于父页面传递给子页面参数的问题,可以直接在URL后面跟上需要传递的参数即可(对于大数据量不可使用)
对于子页面调用父页面的问题,可以在子页面处理完成后,使用window.location.href的方式先跳转到一个http协议的中间页面,再由该页面去调用父页面的方法即可。如果需要传递参数,一样直接使用URL追加相应的参数。
相关文章推荐
- 安卓回调函数解决不同类之间函数调用和数据通信的问题
- 用ASP.NET做项目,本本上的系统是XP,网上下载了IIS6,安装完后出现HTTP500问题,解决之.接着出现了浏览页面时跳出登陆框让输用户名及密码,GOOGLE了一下,原来是权限不够,解决方法
- Windows Phone中解决多模块多程序集之间相互循环引用的问题一种思路
- JSP页面顶端出现错误:The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path的问题解决
- Android-OKhttp解决https安全链接请求问题
- 记Outlook插件与Web页面交互的各种坑 (含c# HttpWebRequest 连接https 的完美解决方法)
- Struts2当调用action时出现HTTP Status 404 问题解决
- 关于uchome页面不能被iframe调用的问题,已解决!
- [置顶] nginx中配置https的服务页面中引用http资源问题
- 使用Java HttpComponent/HttpClinet 调用 WebAPI问题的解决
- iOS开发遇到memory持续上涨导致页面crash问题解决思路
- Android混合开发之Activity类与html页面之间的相互跳转(并解决黑屏问题)
- 如何解决页面之间传输中文乱码的问题
- mysql与jsp页面之间读取数据乱码问题解决
- JS中页面与页面之间超链接跳转中文乱码问题的解决办法
- Nginx 安装及配置负载均衡https网站及转发后页面js、css等路径找不到问题解决
- Nginx 学习笔记(八)http和https跨域问题解决
- https 页面中引入 http 资源的解决方式
- EWS编程问题三:调用WebService出现 请求因 HTTP 状态 404 失败 Not Found 错误(解决)
- https和http情况下,H5页面调起微信的拍照与分享功能,导致的config:invalid signature这个错误的解决办法