zoukankan      html  css  js  c++  java
  • Iframe跨域传值

    1.1. 新建一个web项目修改index.jsp

      https://www.cnblogs.com/ysgcs/p/9148999.html  新建一个web

    添加form表单

    <form>
            输入用户名:<input type="text" name="userName" value="" id="name"/><br>
          密码:<input type="password" name="passWord" value="" id="password"><br>
              <input type="submit"  value="提交" name="submit" id="login">
      </form>

    添加iframe嵌套子页面

    <iframe src="子页面路径"
          width="500px" height="500px"  name="iframeId" style="display:none;"
          visibility="hidden" id="iframeId">
    </iframe>

    编写js,传参数给子页面

    <script type="text/javascript" src="js/jquery.min.js" ></script>

     

     

    <script>
        $('#login').click(function(){
            getData()
        })
        function getData(){
            var name = $('#name').val();
            var pass = $('#password').val();
            var obj = {
                name:name,
                pass:pass
            }
            var win = $('#iframeId')[0].contentWindow;
            win.postMessage(JSON.stringify(obj),'*');
        }

    </script>

    window.postMessage(message,targetOrigin) 方法是html5新引进的特性,可以使用它来向其它的window对象发送消息

    message:为要发送的消息;
    targetOrigin:用来限定接收消息的那个window对象所在的域,如果不想限定域,可以使用通配符 “*”。

    2. 页面

    2.1. 修改子.jsp

    接收index.jsp中传递的参数,调用子页面登录函数

    window.onmessage = function (e) {
        portalLoginaa(e.data)
    }

    window.onmessage = function(e){ }

    参数e为message实例

    子登录函数

    function portalLoginaa(objStr) {
        var password = JSON.parse(objStr).pass
        var loginName = JSON.parse(objStr).name      

    password=strEnc(password,$("#random").val(),"","");      

    loginName=strEnc(loginName,$("#random").val(),"","");
        $("#password").val(password);
        $("#loginName").val(loginName);
        document.forms['Login'].IDToken1.value = LoginForm.loginName.value;
        document.forms['Login'].IDToken2.value = LoginForm.password.value;
        $("#loginName").val("");
        document.forms['Login'].submit();
    }

  • 相关阅读:
    HTML实现“摇一摇”效果,比较好的两篇文章;
    mongodb查询关于大于小于的用法;
    thenjs的应用
    js原生forEach、map与jquery的each、$.each的区别
    nodejs的url模块中的resolve()的用法总结
    2021.1.22 刷题(环形链表)
    2021.1.21 刷题(定义链表)
    2021.1.21 刷题(移除链表元素)
    2021.1.20 刷题(螺旋矩阵)
    滑动窗口-长度最小的子数组
  • 原文地址:https://www.cnblogs.com/xp0813/p/11759727.html
Copyright © 2011-2022 走看看