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>