前一篇讲了窗口间的关系,下面来谈谈怎么交互。
说到底很简单,找到了所需要交互的窗口,就像访问本窗口内的对象来访问目标窗口内的变量、函数、 或html对象等。
当然也要举个例子。
a.htm:
无标题页
div的内容
var a = "test";
function GetString()
{
return "a窗口的值";
}
b.htm
BBBBBBBB
function Show()
{
alert("父窗口的变量a的值= "+ window.parent.a);
alert("父窗口的函数GetString() = "+ window.parent.GetString());
alert("父窗口的元素div的innerHTML = "+ window.parent.document.getElementById("div1").innerHTML);
}
通过浏览器访问a.htm,点击click可得到相应的结果。如此一台,窗口间的操作就容易很多。
再举个窗口间传值的简单例子。
要求实现如下:在父窗口中打开一个子窗口,输入相关内容,关闭子窗口,将输入值返回到父窗口。
这是最常见的需求。
可以用window.open或window.showModalDialog来实现。
注意:showModalDialog仅适用于ie。
以下是例子。
a.htm
无标题页
function GoInput()
{
window.open("b.htm");
}
function GoInputModal()
{
var ary = window.showModalDialog("b.htm");
if(ary!=null)
{
SetValue(ary);
}
}
function SetValue(ary)
{
document.getElementById("t1").value = ary[0];
document.getElementById("t2").value = ary[1];
}
b.htm
function GoReturn()
{
var ary = new Array(document.getElementById("t1").value,document.getElementById("t2").value);
if(window.opener!=null &&
typeof(window.opener.SetValue)!= "undefined")
{
window.opener.SetValue(ary);
}
else
{
window.returnValue = ary;
}
window.close();
}
运行a.htm可看到相关结果。
懂得了基本原理,不论情况有多么复杂,问题都会迎刃而解。
其实多看看,再想想方法就出来了
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net
现象 MySQL服务器安装MHA,sed命令修改安装脚本时卡死: [root@TJ-DB-6CU552YPXS backup]# sed -i “s/.*vip.*ping valid.*/#&/g” mha_install.sh ^C [root@T…