iframe页面调用父级页面中的函数

  parent.dofunction();

  contentWindow 实例

  1. iframe = document.getElementById("frame");
  2. iframe.contentWindow.location = "http://mozilla.org";
  3. iframe.contentWindow.history.back();

个人应用遇到的问题:

下面的方法实现如过标签未打开则打开标签,如果打开了则刷新标签页面。TabPanel 中包含iframe,在对已经打开的标签实现页面刷新时,开始使用window.parent.frames['frameid']获取iframe,再使用var href =  iframe.location.href得到iframe中的src属性,在chrome中能够正常使用,但在firefox中出现问题,后来查了很多资料说可以使用iframe.location,但是使用了过后,firefox出现TypeError: href is undefined,我给他加上''将其转为字符,后来不报错了,但是出现执行iframe.location=url 时不能刷新页面,化了很长时间找到了解决办法,办法就是使用 iframe.contentWindow.location = url 成功解决问题。

  1. function addTab(url,name,menuid,pathCh){
  2. var url = 'scs/'+url;
  3. var icon = "tab_blank.png ";
  4. var id = "tab_id_" + menuid;
  5. if (url == "#" || url == "") {
  6. return;
  7. } else {
  8. var index = url.indexOf(".do");
  9. if (index != -1)
  10. url = url + "&menuid4Log=" + menuid;
  11. var n = window.parent.mainTabs.getComponent(id);
  12. if (!n) {
  13. var endIeStatus = document.getElementById("endIeStatus");
  14. if (document.createEvent) {
  15. var ev = document.createEvent("HTMLEvents");
  16. ev.initEvent("click", false, true);
  17. } else endIeStatus.click();
  18. n = window.parent.mainTabs.add( {
  19. id : id,
  20. title : "<img align='top' class='IEPNG' src='./resource/image/ext/"+ icon + "'/>" + name,
  21. closable : true,
  22. layout : 'fit',
  23. listeners : {
  24. activate : function() {window.parent.Ext.getCmp('centerPanel').setTitle(pathCh);}
  25. },
  26. html : '<iframe id="ifrmae_id_' + menuid + '" scrolling="auto" frameborder="0" width="100%" height="100%" src=' + url + '></iframe>'
  27. //如果功能页面使用中心区域阴影加载模式则使用下面的代码unmaskCenterPanel();页面加载完毕后取消阴影
  28. //html:'<iframe scrolling="auto" frameborder="0" onload="unmaskCenterPanel()" width="100%" height="100%" src='+url+'></iframe>'
  29. });
  30. }else{
  31. var iframe = window.parent.frames["ifrmae_id_" + menuid];
  32. var href = iframe.location+'';
  33. if (href.indexOf(url) == -1) {
  34. url ='../'+url;
  35. }
  36. if(navigator.userAgent.indexOf('Firefox') >= 0){
  37. iframe.contentWindow.location= url;//兼容firefox不兼容chrome
  38. }else{
  39. iframe.location = url;
  40. }
  41.  
  42. }
  43. window.parent.Ext.getCmp('centerPanel').doLayout();
  44. window.parent.mainTabs.setActiveTab(n);
  45.  
  46. }

iframe使用location跳转页面的问题的更多相关文章

  1. 毕设之iframe跳转子页面问题

    我的Django项目中的index.html分为三个层次,head.body.footer.其中body细分为left和right两部分,right的地图是使用iframe嵌入的map.html页面, ...

  2. 点击a标签,跳转到iframe中,并在iframe中显示指定的页面

    点击a标签,跳转到iframe中,并在iframe中显示指定的页面 1.用a标签的target属性 <iframe id="myFrameId" name="myF ...

  3. HTML阻止iframe跳转页面并使用iframe在页面内嵌微信网页版

    昨天看到这篇文章[置顶]开源组件NanUI一周年 - 使用HTML/CSS/JS来构建.Net Winform应用程序界面 就想弄一个winform结合html5的一个小东西,突有兴致,想在里面嵌套一 ...

  4. [vue--开发记录]使用location.href修改地址跳转页面在ie上遇到的坑

    管理后台项目上在用vue2.0开发,因为刚转vue2.0,不是太熟悉.在跳转页面的时候直接用location.href来修改地址跳转,在chrome和火狐上展现都是正常的.后面因为说要兼容到IE9,就 ...

  5. window.location无法跳转页面的问题

    最近在使用 window的location时碰到一个无法跳转页面的问题, 后来在location语句后加了一条这样的语句:window.event.returnValue = false;然后竟然可以 ...

  6. 利用js对象将iframe数据缓存, 实现子页面跳转后, 返回时不丢失之前填写的数据

    利用js对象将iframe数据缓存, 实现子页面跳转后, 返回时不丢失之前填写的数据 实现描述:将数据存放在js对象中, 然后放在父页面的document对象中, 在页面刷新的时候将父页面的值取出来, ...

  7. 移动端 location.href 无法成功跳转页面

    最近做的移动端页面在请求成功后要跳转页面,通过location.href实现的跳转.但同事在测试时,安卓机可以成功跳转,苹果IOS确无法成功跳转.   解决办法:在链接后面加一个随机参数,这样就可以跳 ...

  8. from提交表单后 数据提交到后台 但不跳转页面 可用iframe

    可以页面事先加载被隐藏的iframe标签,或者等到需要的时候通过js生成,再提交,提交之前,form的target指向iframe(我是要实现新页面生成的时候程半透明状态,所以用了后者的方法) 代码如 ...

  9. Js 返回页面 or 跳转页面

    跳出 iframe 在当前页跳转, window.parent.frames.location.href=www.baidu.com" 跳转页面 onclick="history. ...

随机推荐

  1. php date操作

    date(format,timestamp) d - 月中的天 (01-31) m - 当前月,以数字计 (01-12) Y - 当前的年(四位数) h 小时,12 小时格式,有前导零 01 到 12 ...

  2. Android AndroidManifest 清单文件以及权限详解!【转】

    转自:http://my.oschina.net/yuanxulong/blog/366753 每个Android应用都需要一个名为AndroidManifest.xml的程序清单文件,这个清单文件名 ...

  3. 网易云课堂_程序设计入门-C语言_第六章:数组_1多项式加法

    1 多项式加法(5分) 题目内容: 一个多项式可以表达为x的各次幂与系数乘积的和,比如: 现在,你的程序要读入两个多项式,然后输出这两个多项式的和,也就是把对应的幂上的系数相加然后输出. 程序要处理的 ...

  4. 【POJ 1125】Stockbroker Grapevine

    id=1125">[POJ 1125]Stockbroker Grapevine 最短路 只是这题数据非常水. . 主要想大牛们试试南阳OJ同题 链接例如以下: http://acm. ...

  5. SQL SERVER 中 实现主表1行记录,子表多行记录 整合成一条虚拟列

    表中有这样的记录,简单的主子表,现要想通过left join 语句把两表关联起来 select * from tbl_diary_reback a left join tbl_diary_reback ...

  6. supersocket--SuperSocket 1.4系列文档(1) 第一个例子, EchoService

    First example, EchoService 1. 新建一个名叫 “EchoService” 的空白项目 2. 添加SuperSocket的Common和SocketBase这两个dll或者项 ...

  7. pagination分页插件

    最近做了个项目,有用到分页, 这类插件应该是很常用的, 虽然网上很多现成的分页插件, 但是还是想着自己写一个, 给自己积累点东西, 顺便练练手, 写了差不多3个小时左右, 代码如下: 代码: < ...

  8. getopt()函数

    在讨论这个函数之前我们先理解两个概念:选项及其参数 gcc -o program program.c 在上述命令中 -o 就是其选项 program就是参数. getopt(): 头文件: #incl ...

  9. WindowsService服务程序开发

    Windows服务:Microsoft Windows 服务(即,以前的 NT服务)使您能够创建在它们自己的 Windows 会话中可长时间运行的可执行应用程序.这些服务可以在计算机启动时自动启动,可 ...

  10. day10_python学习笔记_chapter13_面向对象编程

    1. class NewClass(parent): def .... 如果没有父类, 则默认继承object类 2. 类属性访问(类似java中的静态属性和方法)直接用类名.属性名, 在python ...