日期:2014-05-16  浏览次数:20302 次

JS一个框架内的页面能不能调用其他框架内的页面的变量?
JS一个框架内的页面能不能调用框架内其他页面的变量?

------解决方案--------------------
可以
假如有一个index.htm包含frame1.htm和frame2.htm(iframe和frame处理一样)
<iframe name=frame1 src= 'frame1.htm '> </iframe>
<iframe name=frame2 src= 'frame2.htm '> </iframe>
假如frame1中有变量i,有函数f1。
那么在index.htm中调用frame1中变量和函数的方法是
var t=window.frame1.i; //或者可以省略window. 另外frame1必须是name,如果不是需要用其他方法
window.frame1.f1();
在frame2.htm中调用frame1中变量和函数的方法是
var t=parent.frame1.i;
parent.frame1.f1();
------解决方案--------------------
--------------UntitledFrameset-2.html------------------------
-----------框架总页面,框架右边页面的Name为rightFrame---------

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN " "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd ">
<html xmlns= "http://www.w3.org/1999/xhtml ">
<head>
<meta http-equiv= "Content-Type " content= "text/html; charset=gb2312 " />
<title> 无标题文档 </title>
</head>

<frameset rows= "* " cols= "*,520 " framespacing= "0 " >
<frame src= "Untitled-1.html " name= "mainFrame " id= "mainFrame " title= "mainFrame " />
<frame src= "UntitledFrame-2.html " name= "rightFrame " scrolling= "No " noresize= "noresize " id= "rightFrame " title= "rightFrame " />
</frameset>
<noframes> <body>
</body>
</noframes> </html>


----Untitled-1.html-------左边页面
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN " "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ">
<html xmlns= "http://www.w3.org/1999/xhtml ">
<head>
<meta http-equiv= "Content-Type " content= "text/html; charset=gb2312 " />
<title> 无标题文档 </title>
</head>

<body> <input name= "change " type= "button " value= "试试看 " onclick= "window.top.rightFrame.document.getElementById( 'output ').value= '跨框架了吧。。。 ' "/>
</body>
</html>

------UntitledFrame-2.html--------右边页面
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN " "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ">
<html xmlns= "http://www.w3.org/1999/xhtml ">
<head>
<meta http-equiv= "Content-Type " content= "text/html; charset=gb2312 " />
<title> 无标题文档 </title>
</head>

<body>
<input type= "text " id= "output " />
</body>
</html>

--------
主是就是这个window.top.rightFrame,rightFrame就是你要操作的页面名字,即在总页面里定义的name