父窗口和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> 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM