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. poj3094---对字符串的处理

    #include <stdio.h> #include <stdlib.h> #include<string.h> int main() { ]; int len, ...

  2. 使用Vitamio打造自己的Android万能播放器(6)——在线播放(播放列表)

    前言 新版本的VPlayer由设计转入开发阶段,预计开发周期为一个月,这也意味着新版本的Vitamio将随之发布,开发者们可以和本系列文章一样,先开发其他功能.本章内容为"在线视频播放列表& ...

  3. scrapy爬虫初体验

    scrapy是一个python的爬虫框架,用于提取结构性数据.在这次宝贝计划1的项目中要用到一些数据.但四处联系后各方可能因为一些隐私问题不愿提供数据信息.这样我们只能自己爬取,存入数据库,再进行调用 ...

  4. 查询EBS在线用户SQL(R12)

    SELECT U.USER_NAME, APP.APPLICATION_SHORT_NAME, FAT.APPLICATION_NAME, FR.RESPONSIBILITY_KEY, FRT.RES ...

  5. js——事件

    焦点:使浏览器能够区分用户输入的对象,当一个元素有焦点的时候,那么他就可以接收用户的输入. 我们可以通过一些方式给元素设置焦点 1.点击 2.tab 3.js 不是所有元素都能够接收焦点的.能够响应用 ...

  6. 加密传输SSL协议5_Hash Function

    怎么对一个大的文件进行签名,因为文件比较大,非对称签名很慢.那么想,我能把这个大的文件通过一种函数变换,变成一个和源文件唯一对应的的小的文件吗?答案是可以的. Hash Function 这里任何的文 ...

  7. leetcode Binary Tree Postorder Traversal python

    # Definition for a binary tree node. # class TreeNode(object): # def __init__(self, x): # self.val = ...

  8. java web项目修改项目名称

    前几天在网上下了个项目,感觉名字长,所以想把项目改名字. 把项目导入到myeclipse中,将项目改名后, 还需要选中项目右键,properties ,修改项目的Context Root的名字.

  9. 关于三星手机照相机调用适配问题Android

    因为三星手机在照相的时候,会自动将自动转化为为横屏. 这里的话 就不讲具体怎么实现的,因为在网络上是有相关的代码. 主要的是在你拍完照返回的时候,先前的界面可能会重绘,所以会导致一些问题. 我暂时的办 ...

  10. 非常值得学习的java 绘图板源代码

    package minidrawpad; import java.awt.BasicStroke; import java.awt.Color; import java.awt.Font; impor ...