当前位置: 首页 > 图文教程 > 网页制作 > HTML/XHTML教程 > 用js互相调用iframe页面内的js函数

HTML/XHTML教程
CSS 循序渐进(四)表里春秋
精通 CSS 滤镜(五)
让css使网页图片半透明
实现页面图片阴影特效
发现CSS控件的好处
用CSS缩写给你的网站加速
CSS在IE和Nascape的显示差别
利用CSS,不通过replace替换标引HTML标记
拒绝单调 让网页超链接拥有多姿多彩的下划线
对CSS类及id的规范化命名
利用css里expression来实现界面对象的批量控制
利用CSS控制打印
第一章 CSS的基本认识
第二章 CSS的应用方式
第三章 CSS的应用补充
第四章 颜色背景的CSS
第五章 文字性质的CSS
第六章 区块性质的CSS
HTML之其他标记
HTML之链接标记

HTML/XHTML教程 中的 用js互相调用iframe页面内的js函数


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-12   浏览: 497 ::
收藏到网摘: n/a

最近,天天搞论文开题报告,一时技痒,再次设计Web,一下子就碰到一个问题,以前设计WEB页的时候都是在IE里面跑的,从来没有考虑过firefox 更别提chrome了,可是现在不同了,至少我认为不兼容Firefox的WEB页面是极其丑陋和山寨的,所以从有个这个观念开始,我设计页面就开始注意这个兼容性,而这次就碰到一个兼容性的问题,html里面有一个浮动框架,<iframe >,可以在页面中内嵌入一个页面,用来做框架页面非常适合,如下图,
 
一个html页面,分成左右两块,左边为导航栏,右边为需要显示的内容,代码如下:
左栏的代码为:
<IFRAME frameBorder=0 id=frmTitleLeft name=framLeft src="left.html" style="HEIGHT: 100%; width:180px;">
连接到left.html
右栏也类似,就本人所做的页面,预览的效果如下:
 
现在要达到什么样的效果才能起到比较实用的效果呢,点击其中的任何链接,都可以在右栏显示,那么很显然需要通过js来实现,原始的不兼容的办法我也不多说了,请大家记住以下实现步骤:
1,首先获得右栏iframe对象
var frames=document.getElementById("frameid");//frameid即右栏iframe的id名
2,重置其src值
frames.src=pageurl;//pageurl即要显示的目的页面
这样就实现了页面的跳转

但是还有一点,如果想调用其中的函数就不是这么简单了
比如右栏中有一个函数right(),我要在左栏的链接中调用right()函数,该如何实现呢

1,首先leftframe是内嵌在容器页index.html中的,因此需要先返回到index这一级别,并取得rightframe对象
var frames=window.parent.window.document.getElementById("frameid");

2,要能执行其页面中的函数,必须要获得window对象,这里有一个重要的对象contentWindow,获得这个对象,即可执行其中的函数了,如
frames.contentWindow.right();

以上代码兼容IE6,Firefox3,chrome2.0,均成功通过测试,IE7没试过,不过应该没问题。