您的位置:首页 > 其它

父窗口和iframe子窗口之间相互传递参数和调用函数或方法

2015-11-18 12:17 525 查看
原文地址:http://www.cnblogs.com/hmyprograming/archive/2012/08/15/2640094.html

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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: