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

  parent.dofunction();

  contentWindow 实例

iframe = document.getElementById("frame");
iframe.contentWindow.location = "http://mozilla.org";
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 成功解决问题。

 function addTab(url,name,menuid,pathCh){
var url = 'scs/'+url;
var icon = "tab_blank.png ";
var id = "tab_id_" + menuid;
if (url == "#" || url == "") {
return;
} else {
var index = url.indexOf(".do");
if (index != -1)
url = url + "&menuid4Log=" + menuid;
var n = window.parent.mainTabs.getComponent(id);
if (!n) {
var endIeStatus = document.getElementById("endIeStatus");
if (document.createEvent) {
var ev = document.createEvent("HTMLEvents");
ev.initEvent("click", false, true);
} else endIeStatus.click();
n = window.parent.mainTabs.add( {
id : id,
title : "<img align='top' class='IEPNG' src='./resource/image/ext/"+ icon + "'/>" + name,
closable : true,
layout : 'fit',
listeners : {
activate : function() {window.parent.Ext.getCmp('centerPanel').setTitle(pathCh);}
},
html : '<iframe id="ifrmae_id_' + menuid + '" scrolling="auto" frameborder="0" width="100%" height="100%" src=' + url + '></iframe>'
//如果功能页面使用中心区域阴影加载模式则使用下面的代码unmaskCenterPanel();页面加载完毕后取消阴影
//html:'<iframe scrolling="auto" frameborder="0" onload="unmaskCenterPanel()" width="100%" height="100%" src='+url+'></iframe>'
});
}else{
var iframe = window.parent.frames["ifrmae_id_" + menuid];
var href = iframe.location+'';
if (href.indexOf(url) == -1) {
url ='../'+url;
}
if(navigator.userAgent.indexOf('Firefox') >= 0){
iframe.contentWindow.location= url;//兼容firefox不兼容chrome
}else{
iframe.location = url;
} }
window.parent.Ext.getCmp('centerPanel').doLayout();
window.parent.mainTabs.setActiveTab(n); }

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. FirewallD 详解

    在CentOS7开始,默认是没有iptables的,而是使用了firewall防火墙.与时俱进,简单的整理了一下firewall的使用方法.关于详细的介绍参考官网,就不搬字了.这个网站有中文选项.可以 ...

  2. Coursera-Neural Networks by Geoffrey Hinton

    feed-forward networks symmetrically-connection neural networks

  3. Ubuntu之修改用户名和主机名

    记得曾几何时,想把自己电脑的“乌班兔儿”取个响亮的名字,但是问了很久度娘和谷哥,都要我把当前用户删除了(userdel -r xxx),重新建一个用户(adduser xxx),但是,我的电脑是所有环 ...

  4. 基于Schema的AOP 配置使用详解

    原文地址:http://jinnianshilongnian.iteye.com/blog/1418598 基于Schema的AOP从Spring2.0之后通过"aop"命名空间来 ...

  5. php的引用

    <?php $var1 = 1; $var2 = 2; function foo(){ global $var1,$var2; $var2 = &$var1; } function te ...

  6. mysql insert和前台显示乱码

    近期在搞服务端.遇到问题例如以下, 在mysql中插入中文乱码.或mysql中中文正常显示,但jsp在前台显示mysql中的中文时乱码. 解决方法,进入mysql控制台,运行 SET characte ...

  7. wikioi-1039-数的划分

    将整数n分成k份,且每份不能为空,任意两种划分方案不能相同(不考虑顺序). dp[i][j]:把数i分成k分的方案数 则:dp[i][j]=sum(dp[i-j][t])(t>=1&&a ...

  8. android入门——Service

    简单记录一下四大组件之一的Service的简单实用. 先是最简单的用法,服务的开关,onBind方法的使用 package com.example.wkp.service; import androi ...

  9. SQL Server 触发器2

    触发器可以做很多事情,但也会带来很多问题.使用它的技巧在于在适当的时候使用,而不要在不适当的时候使用它们. 触发器的一些常见用途如下: 弹性参照完整性:实现很多DRI不能实现的操作(例如,跨数据库或服 ...

  10. jboss清楚缓存

    在服务器上部署或更新时,常常会忘记删除JBOSS的缓存.忘记删除缓存的后果,经常就是改好了代码却还是原来的错误,然后查找半天,浪费时间.所以在重新部署JBOSS,在启动JBOSS前一定要删除JBOSS ...