zoukankan      html  css  js  c++  java
  • 父窗口和iframe子窗口之间相互传递参数和调用函数或方法

    1.父窗口向子窗口传递参数:

              可以在url中添加参数:2.html?a=1&b=2&c=3

              然后在子页面上可用js解析,提供一个函数:         

    function getQueryStr(sArgName)
    {
    var args = LocString.split("?");
    var retval = "";
    if(args[0] == LocString) /*参数为空*/
    {
    return retval; /*无需做任何处理*/
    } 
    var str = args[1];
    args = str.split("&");
    for(var i = 0; i < args.length; i ++)
    {
    str = args[i];
    var arg = str.split("=");
    if(arg.length <= 1) continue;
    if(arg[0] == sArgName) retval = arg[1]; 
    }
    return retval;
    }

          

    使用
    
    var a=getQueryStr("a");
    var b=getQueryStr("b");
    var c=getQueryStr("c");
    
    可以取得值

    2.子页面向父页面传递参数:

           可以换一个思路也就是在父页面中定义一个变量,然后在子页面中进行访问更改。

            访问方法:window.parent.父窗口中的变量=xxx;

    3.父页面调用子窗口方法

         

      <iframe name="myFrame" src="child.html"></iframe> 
                   myFrame.window.functionName(); 

    4.子窗口调用父窗口方法

            parent.functionName(); 

    下面父窗口和子窗口相互调用举例:

        父窗口页面 

    <html>  
    <head>  
    <script   type="text/javascript">  
    
    function say() { 
       alert("parent.html------>I'm at parent.html"); 
       } 
    
    function callChild() 
    {  
       //document.frames("myFrame").f1(); 
       myFrame.window.say(); 
    }  
    </script>  
    </head>  
       
    <body>    
    <input   type=button   value="调用child.html中的函数say()" onclick="callChild()"> 
    <iframe name="myFrame" src="child.html"></iframe> 
    </body>  
    </html>  

    子窗口页面 

    <html>  
    <head>  
    <script type="text/javascript"> 
         
    function say()  
    {  
              alert("child.html--->I'm at child.html");  
    } 
    
    function callParent() { 
       parent.say(); 
       } 
    </script>  
    </head>  
    <body>  
    <input   type=button   value="调用parent.html中的say()函数"   onclick="callParent()">  
    </body>  
    </html> 

    转载自:http://www.cnblogs.com/hmyprograming/archive/2012/08/15/2640094.html

  • 相关阅读:
    实现雨滴的效果
    rainyday.js
    XHTML1.0版本你知道么,跟html5版本有什么区别
    背景图合并用在什么地方最适合,有什么优点
    什么是css hack
    用一两句话说一下你对“盒模型”这个概念的理解,和它都涉及到哪些css属性
    块属性标签和行内属性标签及样式优先级
    【Loadrunner】Loadrunner 手动关联技术
    【黑盒测试】测试用例的常用方法
    【Linux】阿里云服务器部署--禅道
  • 原文地址:https://www.cnblogs.com/baiyunchen/p/3962974.html
Copyright © 2011-2022 走看看