这篇文章主要介绍“Javascript frame怎么用”,在日常操作中,相信很多人在Javascript frame怎么用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Javascript frame怎么用”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
如果页面中包含框架,则每个框架都拥有自己的window对象,并且保存在frames集合中。在frames集合中,可以通过数值索引(从0开始,从左至右,从上到下)或者框架名称来访问相应的window对象。每个window对象都有一个name属性,其中包含框架的名称。接下来提供一个包含框架的页面实例:
<html>
<head>
<title>框架实例</title>
</head>
<frameset rows="160,*">
<frame src="frame .htm"name="topFrame" />
<frameset cols='50%, 50%">
<frame src="anotherframe. htm" name="leftFrame" />
<frame src="yetanotherframe. htm" name="rightFrame" />
</frameset>
</frameset>
</html>
以上代码创建了一个框架集,其中一个框架居上,两个框架居下。对这个例子而言,可以通过window. frames[o]或者window.f rarnes["topFrame"]来引用上方的框架。不过,恐怕你最好使用top而非window来引用这框架(例如,通过top.fraInes[o])。
我们知道,top对象始终指向最高(最外)层的框架,也就是浏览器窗口。使用它可以确保在一个框架中正确地访问另一个框架。因为对于在一个框架中编写的任何代码来说,其中的window对象指向的都是那个框架的特定实例,而非最高层的框架。下图展示了在最高层窗口中,通过代码来访向前面例子中每个框架的不同方式。
与top相对的另一个window对象是parent。顾名思义,parent(父)对象始终指向当前框架的直接上层框架。在某些情况下,parent有可能等于top;但在没有框架的情况下,parent 一定等于top(此时它们都等于window)。再看下面的例子:
<html>
<head>
<titLe>框架实例</title>
</head>
<frameset rows=’1 100.*">
<frame src="frame. htm" name="topFrame" />
<frameset cols="50%, 50%">
<frame src="ano therfraame.htm"name="leftFrame"/>
</frameset>
</frameset>
< /html>
这个框架集中的一个框架包含了另一个框架集,该框架集的代码如下所示:
<html>
<head>
<title>框架实例</title>
</head>
<frameset cols='50%, 50%'>
<frame src="red. htm"name="redFrame"/>
<frame src="blue. htm"name="blueFrame" />
</frameset>
</html>
浏览器在加载完第一个框架集以后,会继续将第二个框架集加载到rightFrame中。如果代码位于redFrame(或blueFrame)中,那么parent对象指向的就是rightFrame,可是,如果代码位于topFrame中,则parent指向的是top,因为topFrame的直接上层框架就是最外层框架。展示了在将前面例子加载到浏览器之后,不同window对象的值。
除非高层窗口是通过windows.open()打开的,否则其window对象的name属性不会包含任何值.与框架有关的最后一个对象是self,它始终指向window,实际上,self和window对象可以互相换使用.引入这些对象都是self对象的目的只是为了与top和parent对象对应起来,因此它不格外包含其他值.所有这些对象都是window对象的属性,可能通过window.parent,window.top等形式来访问.同时也意味着可以将不同层次的window对象连缀起来.南昌网站制作公司工程举例:window.parent.parent.frames[0].
在使用框架的情况下,浏览器中会存在多个Global对象.在每个框架中定义的全局变量会自动成为框架中window对象的属性,由于每个window对象都包含原生类型的构造函数,因此每个框架都有一套自己的构造函数,这些构造函数一一对应,但并不相等,例如,top.object并不等于top.frames[0].Object.这个问题会影响到对跨框架传递的对象使用instanceof操作符.
到此,关于“Javascript frame怎么用”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。