1. 程式人生 > >父視窗和iframe子視窗之間相互傳遞引數和呼叫函式或方法(url中傳參)

父視窗和iframe子視窗之間相互傳遞引數和呼叫函式或方法(url中傳參)

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.父頁面呼叫子視窗方法

myFrame.window.functionName();
4.子視窗呼叫父視窗方法
parent.functionName();
下面父視窗和子視窗相互呼叫舉例:
父視窗頁面

function say() { alert("parent.html------>I'm at parent.html"); } function callChild() { //document.frames("myFrame").f1(); myFrame.window.say(); }

子視窗頁面

function say() { alert("child.html--->I'm at child.html"); } function callParent() { parent.say(); }