用js互相调用iframe页面内的js函数

发布时间:2009-07-09 09:52:54   作者:佚名   text-message.png 我要评论

最近,天天搞论文开题报告,一时技痒,再次设计Web,一下子就碰到一个问题,以前设计WEB页的时候都是在IE里面跑的,从来没有考虑过firefox 更别提chrome了,可是现在不同了,至少我认为不兼容Firefox的WEB页面是极其丑陋和山寨的,所以从有个这个观念开始,我设计页面就开始

最近,天天搞论文开题报告,一时技痒,再次设计Web,一下子就碰到一个问题,以前设计WEB页的时候都是在IE里面跑的,从来没有考虑过firefox 更别提chrome了,可是现在不同了,至少我认为不兼容Firefox的WEB页面是极其丑陋和山寨的,所以从有个这个观念开始,我设计页面就开始注意这个兼容性,而这次就碰到一个兼容性的问题,html里面有一个浮动框架,,可以在页面中内嵌入一个页面,用来做框架页面非常适合,如下图,

e7d49a54c57b9c24d43bb4213faf9c8d.png 

一个html页面,分成左右两块,左边为导航栏,右边为需要显示的内容,代码如下:

左栏的代码为:

连接到left.html

右栏也类似,就本人所做的页面,预览的效果如下:

1ffbf767368cd333d1a5bbbe00dbe608.gif 

现在要达到什么样的效果才能起到比较实用的效果呢,点击其中的任何链接,都可以在右栏显示,那么很显然需要通过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没试过,不过应该没问题。

相关文章

iframe如何刷新一直都被网友所关注,接下来为大家详细介绍下三种:用iframe的name属性定位/id属性定位/当iframe的src为其它网站地址时,感兴趣的朋友可以参考下哈2013-03-29

不设置为about:blank,内存不会释放掉。还必须用 iframe.document.write(''); 这样才能将内容清空,本文将详细探讨一下iframe的src设置为about:blank之后细节,感兴趣的你2013-02-25

frame的src赋值的问题,本文将进行详细探讨:服务器端的iframe重新src重新赋值,给iframe加一个ID,再加上runat=server,感兴趣的你可不要错过了哈2013-02-25

所谓iframe自适应高度,就是,基于界面美观和交互的考虑,隐藏了iframe的border和scrollbar,让人看不出它是个iframe2012-11-12

iframes 提供了一个简单的方式把一个网站的内容嵌入到另一个网站中。但我们需要慎重的使用iframe。iframe的创建比其它包括scripts和css的 DOM 元素的创建慢了 1-2 个数量级2012-09-05

iframe一般用来包含别的页面,例如我们可以在我们自己的网站页面加载别人网站的内容,为了更好的效果,可能需要使iframe透明效果,那么就需要了解更多的iframe属性,这里简2014-10-01

在构建B/S系统界面的时候,经常会遇到主页面index.html中嵌套其他页面的情况 ,虽然已经有的库已经提供了控件(例如jQuery easy UI),但是有时候iframe的使用是不可避免的2010-08-06

有时候需要让iframe继承父页面的颜色。不需要复杂的操作,简单的几个参数设置下即可。2010-07-21

在最近的一个项目中,遇到了IE6 select遮挡div的bug,为了解决这个bug我查了很多资料,试图找到一个最最有效的方法,很多人是通过iframe的方法来解决,其实我查了国外的很2010-06-18

在实际的项目进行中,很多地方可能由于历史原因不得不去使用iframe,包括目前正火热的应用开发也是如此。2010-03-17

最新评论

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐