zoukankan      html  css  js  c++  java
  • 换种思路解决http与https之间的页面调用问题

    业务场景:

       主页面为http协议的普通页面。

       子页面为https协议的页面。

       两张页面处于同一个域名,只是协议不同。从浏览器角度而言应该属于跨域问题。

    业务要求:

       主页面在加载子页面里需要传递参数给子页面。

       子页面在处理完成后需要回调父页面的方法。

    业务示例:

       主页面有按钮,点击后弹出登录窗口,该登录窗口为iframe方式嵌入一个单独的JSP页面。

    问题描述:

       在未采用https的时候,父页面直接调用子页面的方法获取父页面的参数。在子页面处理完成后也是直接调用父页面的方法完成后续处理任务。

      在改用https后,父页面无法调用子页面的方法,子页面也无法调用父页面的方法,具体的原因就是出现无权限访问。

    问题分析:

       针对跨域的问题,采用通常的document.domain及jsonp均无法解决子页面调用父页面的问题。

    解决方案:

       换种思路,既然子页面是因为协议与父页面不同导致无法调用,那我们只要想法变成相同的即可。

     具体步骤如下:

      对于父页面传递给子页面参数的问题,可以直接在URL后面跟上需要传递的参数即可(对于大数据量不可使用)

      对于子页面调用父页面的问题,可以在子页面处理完成后,使用window.location.href的方式先跳转到一个http协议的中间页面,再由该页面去调用父页面的方法即可。如果需要传递参数,一样直接使用URL追加相应的参数。

  • 相关阅读:
    JVM的即时编译器JIT之简单介绍
    JS脚本动态给标签控件添加事件
    getParameterMap的使用
    IOS开发中判断文件是否存在,不存在则拷贝
    javaweb中解决Cookie中文乱码问题
    网页中的上标和下标实现
    Java中枚举的使用
    ASP.NET 首页性能的4大做法
    httpHandlers和httpModules接口介绍 (5)
    css+div排版如何支持所有浏览器
  • 原文地址:https://www.cnblogs.com/shihao/p/2315591.html
Copyright © 2011-2022 走看看