业务场景:
主页面为http协议的普通页面。
子页面为https协议的页面。
两张页面处于同一个域名,只是协议不同。从浏览器角度而言应该属于跨域问题。
业务要求:
主页面在加载子页面里需要传递参数给子页面。
子页面在处理完成后需要回调父页面的方法。
业务示例:
主页面有按钮,点击后弹出登录窗口,该登录窗口为iframe方式嵌入一个单独的JSP页面。
问题描述:
在未采用https的时候,父页面直接调用子页面的方法获取父页面的参数。在子页面处理完成后也是直接调用父页面的方法完成后续处理任务。
在改用https后,父页面无法调用子页面的方法,子页面也无法调用父页面的方法,具体的原因就是出现无权限访问。
问题分析:
针对跨域的问题,采用通常的document.domain及jsonp均无法解决子页面调用父页面的问题。
解决方案:
换种思路,既然子页面是因为协议与父页面不同导致无法调用,那我们只要想法变成相同的即可。
具体步骤如下:
对于父页面传递给子页面参数的问题,可以直接在URL后面跟上需要传递的参数即可(对于大数据量不可使用)
对于子页面调用父页面的问题,可以在子页面处理完成后,使用window.location.href的方式先跳转到一个http协议的中间页面,再由该页面去调用父页面的方法即可。如果需要传递参数,一样直接使用URL追加相应的参数。
分享到:
相关推荐
在iOS应用开发中,组件化路由设计是一种解决复杂项目结构和多组件交互问题的重要方法。随着用户需求的多样化,开发者需要构建更加灵活、可维护的架构。本文将探讨iOS组件化路由设计思路,分析它能解决的问题以及各种...
通过本文介绍的几种方法,开发者可以有效地解决这些问题,提高应用的质量和用户体验。值得注意的是,虽然这里使用了`gb2312`作为示例编码,但在实际项目中,建议使用更通用且支持范围更广的编码格式,如`utf-8`。...
通过上述方法,我们可以有效地解决jQuery与Discuz之间的冲突问题。关键在于正确使用 `jQuery.noConflict()` 方法来释放 `$` 的使用权,并且在需要使用jQuery的地方将 `$` 替换为 `jQuery`。这种方法不仅适用于Discuz...
- **不同协议**:比如从HTTP页面调用HTTPS页面的数据,也被视为跨域行为。 - **不同端口**:即使是在同一域名下,如果端口号不同,也会被视为跨域,如从`www.abc.com`调用`www.abc.com:81`下的资源。 #### 三、跨域...
3. 高健壮性与高容错性:接口应能处理异常输入,具备判断和解决问题的能力,以保证软件的稳定运行。 4. 可扩展性原则:考虑到软件升级和扩展的需要,接口设计应灵活,允许未来功能的添加和改进。 5. 遵循行业标准...
### Android开发效率改进思路 #### 一、常见Android开发痛点分析 在Android开发过程中,开发者经常会遇到各种挑战和痛点,这些问题不仅会影响应用的质量,还会延长开发周期,增加维护成本。以下是一些常见的痛点:...
这种方法避免了编码转换带来的复杂性,是一种简单直接的解决思路。 此外,文章还强调了返回参数`$ret`的重要性,它用于标识Python程序执行是否成功。在`system`函数中,`$ret`将接收到命令执行后的返回值。如果命令...
【标题】“网易云音乐(小程序,附带完整接口)”所涵盖的知识点主要涉及微信小程序的开发以及网易云音乐API的使用。...同时,对两个不同实现的分析,有助于提升对小程序开发的深入理解和问题解决能力。
文章中提到阿里巴巴的例子表明,他们可能使用地址映射功能来解决静态页面链接问题。地址映射可以通过服务器端的路由规则来实现,它允许访问者通过统一的URL结构访问不同的静态内容。 这种方法的实现涉及URL的重写...
总的来说,该研究为嵌入式Web服务器的设计提供了新的思路,通过AJAX与CGI的创新结合,既满足了嵌入式系统资源限制的需求,又解决了页面维护和更新的难题,对于嵌入式领域的Web服务技术具有重要的参考价值。
数据库进程间通信解决方案是针对数据库系统与其他第三方应用程序之间需要实时同步数据或触发特定操作的场景。传统的查询方式可能无法满足这种实时性需求,因此需要设计一种机制,使得数据库能够主动通知其他进程数据...
- **问题修复与验证**:一旦找到根本原因,就需要实施解决方案,并重新进行性能测试以验证问题是否已被有效解决。 ##### 2.3 步骤结果输出 性能分析过程中每个关键步骤的输出如下: 1. **资源瓶颈分析**: - 收集...
针对问题的解决方案,核心思路是阻止事件的多次触发。具体来说,可以采取以下步骤: 1. 在执行滚动动画前,将document.onmousewheel赋值为undefined,这样做可以暂时禁用onmousewheel事件的监听,防止在滚动动画...
- **技术社区**:Stack Overflow、CSDN等技术社区提供了大量来自其他开发者的实践经验,可以快速找到解决思路。 - **同事或导师的帮助**:有时候直接询问经验丰富的同事或导师可以更快地解决问题。 - **实践验证**:...
总结来说,当涉及到Flash与JavaScript的数据交互时,`SetVariable`是一个简单的解决方案,但可能在某些浏览器中不可用。而`ExternalInterface`提供了一种更健壮的跨平台方法,可以进行双向通信。根据项目需求和目标...
在开发移动端应用时,我们经常会遇到页面之间切换时滚动位置处理的问题。本示例主要针对的是使用Vue.js和Mint UI构建的应用,特别是在从ListView列表页跳转到详情页时,确保详情页从顶部开始显示。以下是实现这一...
通过脚本语言(如JavaScript)可以在组件间以及客户端与服务器之间通过设置属性、调用方法和激活事件等方式进行通信。 #### 技术实现思路 为了实现WebOA中的痕迹保留功能,首先需要解决在B/S架构下的文件编辑问题...
总结来说,在iFrame子页面中实现模态框的关键是通过父页面控制模态框的显示,并且在需要的情况下,通过父页面代理子页面调用模态框中的JavaScript方法。此方法依赖于跨文档消息传递技术,并且要求父页面与子页面之间...
- **Controller(控制器)**:作为模型和视图之间的桥梁,接收用户的输入,调用模型进行处理,并将结果传递给视图进行展示。 **2. B2B2C电商系统概述** B2B2C电商系统通常包含以下几个核心模块: - **供应商管理**...
5. **网络请求**:微信小程序提供了API来处理HTTP或HTTPS请求,开发者使用这些API与后台服务器进行通信,获取商品信息、用户数据、订单状态等。 6. **支付功能**:为了实现购物功能,源代码中会有微信支付的集成。...