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

HTML/XHTML教程
你应该知道的CSS的十八个技巧
初学者很好的参考:HTML标签详尽讲解
学习网页标准制作技术之CSS相关基础知识
学习网页标准制作网页之CSS混合布局应用
HTML基础教程:详细学习常用HTML标签的语义
网页设计基础:基本的页面设计元素布局比例
网页制作基础:图像文件的路径知识
html基础系列教程Ⅰ:从p开始,循序渐进
html基础系列教程Ⅱ:丰富段落里的标签
html基础系列教程Ⅲ:用途相似的标签
html基础系列教程Ⅳ:链接与文本标签们
html基础系列教程Ⅴ:美化段落文本Ⅰ
html基础系列教程Ⅵ:美化段落文本Ⅱ
Web标准知识:(X)HTML Strict 下的嵌套规则
Web标准知识:语义与样式无关
Web标准知识:DIV不是万能膏药
web标准知识:当标题不能显示完整的时候
web标准知识:以图换字的几个方法及思路
CSS教程:legend标签设定宽度的技巧
html基础:常用小技巧几例

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-12   浏览: 484 ::
收藏到网摘: 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没试过,不过应该没问题。