例如:一个父窗体点击了个提交表单事件,同时要将提交的服务器返回处理结果显示在父窗体的iframe页面中,父窗体通过获得iframe中返回的结果来处理父窗体的部分数据。此时就要监听iframe的内容变更。

在IE下直接可以用

 $get("#frame_hidden").onreadystatechange = function () {if ($get("#frame_hidden").readyState && $get("#frame_hidden").readyState == "complete") {var responseText = $get("#frame_hidden").contentDocument.getElementById("divMes").innerHTML;eval("var d=".concat(responseText));if (d.status.toUpperCase() == "Y") {//添加成功时的操作var data = "path=" + escape(navPointer);DataLoad(data);obj.parentNode.removeChild($get("#upFile"));$get("#btnOpen").style.display = "inline";obj.style.display = "none";} else if (d.status.toUpperCase() == "N") {alert(d.err);}}}}

就可以监听到,但这个方法不兼容firefox,google,opera等浏览器,在这些浏览器下onreadystatechange这个事件就如同瘫患了
如简单的操作,可以给iframe的onload事件进行赋值如:iframe.οnlοad=iframe.onreadystatecnage=function(){//。。。。} 这个其实起不了真正的监听作用,它只是在每次iframe加载时处理下
我这次解决的办法是在iframe中写js,然后结合父窗体的js二者产生交互来实现。
如:
  var responseText = $get("#divMes").innerHTML;eval("var d=".concat(responseText));if (d.status.toUpperCase() == "Y") {//添加成功时的操作var data = "path=" + escape(parent.navPointer);parent.DataLoad(data);//这是调用父窗体的改变处理数据的方法parent.document.getElementById("upLoad").parentNode.removeChild(parent.document.getElementById("upFile"));parent.document.getElementById("btnOpen").style.display = "inline";parent.document.getElementById("upLoad").style.display = "none";} else if (d.status.toUpperCase() == "N") {alert(d.err);}

转载于:https://www.cnblogs.com/solomon_Blog/archive/2011/09/29/2195334.html

iframe和父窗体之间的互相监听方法相关推荐

  1. oracle 设置监听和服务,oracle服务端和客户端之间的网络监听设置

    下面为您介绍的是oracle服务端和客户端之间的网络监听设置,如果您在oracle服务端和客户端之间的网络监听设置方面遇到过类似的问题,不妨一看. oracle服务端和客户端之间的网络监听设置 假如我 ...

  2. oracle 设置监听和服务,oracle服务端和客户端之间的网络监听如何设置呢?

    racle服务端和客户端之间的网络监听设置 假如我现在有两个数据库kkman和orcl,现在我想在服务端设立两个监听来处理从客户端发过来的连接请求. ------------------------- ...

  3. html监听页面关闭事件,JS针对浏览器窗口关闭事件的监听方法集锦

    本文实例总结了JS针对浏览器窗口关闭事件的监听方法.分享给大家供大家参考,具体如下: 方式一:(适用于IE浏览器,而且刷新不提示,只在点击浏览器关闭按钮的时候提示) window.οnbefοreun ...

  4. html5中页面关闭事件监听,JS针对浏览器窗口关闭事件的监听方法集锦

    本文实例总结了JS针对浏览器窗口关闭事件的监听方法.分享给大家供大家参考,具体如下: 方式一:(适用于IE浏览器,而且刷新不提示,只在点击浏览器关闭按钮的时候提示) window.οnbefοreun ...

  5. 安卓Android绘制一个信息填写页面,使用了三种事件监听方法

    先上效果图片: 第一种,匿名内部类 //设置提交按钮监听submitButton.setOnClickListener(new View.OnClickListener() {@Overridepub ...

  6. 如何在窗体之间通讯的几种方法 ? VB.NET方案

    在面向过程的程序中,我们可以通过窗体名来访问其他窗体中控件或者数据,但是在面向过程中却稍有不同,面向过程显示了它的优点. 假设一个Window解决方案中,有两个窗体Form1和Form2,Form1窗 ...

  7. Java_基础—GUI(窗体/鼠标/键盘/动作监听和键盘事件)

    一.窗体监听 Frame f = new Frame("我的窗体"); //事件源是窗体,把监听器注册到事件源上 //事件对象传递给监听器 package com.soar.gui ...

  8. android 控件监听方法是,Android | Android中监听Button的实现

    Android中监听Button的实现 单按钮监听 2018-04-27_061911.jpg 1.在按钮所属的父Activity里,创建按钮变量 private Button mBtnTextVie ...

  9. eNSP第五篇扩展1:vrrp over nqa,nqa探测,双重vrrp监听方法1,vrrp与nqa结合

    vrrp over nqa 相信学习到这里的同学,已经不需求我在这里为大家讲解nqa到底是怎么一个技术,本篇着重讲述nqa和vrrp联合的一个工作场景是这样的: nqa与vrrp结合适合的最独特的场景 ...

最新文章

  1. Farseer.net轻量级ORM开源框架 V1.x 入门篇:新版本说明
  2. Java的jar文件安装成windows 服务
  3. mysql视图有哪几种_数据库报表的视图有几种?每种视图的功能是什么?
  4. STL常用容器大致对比
  5. UTF-8字符集成为Java 18默认字符集?发布周期将至,Java 18现身
  6. python处理websocket
  7. php磁力链播放源码,Bt种子转磁力链 PHP源码
  8. Arduino--土壤湿度传感器使用(电阻式)
  9. Vue3 - Suspense 组件介绍及使用方法
  10. Centos7 合理分配 swap空间
  11. jsp+servlet图书管理系统
  12. mRNA数据分析专题
  13. Oracle总结一(超详细)
  14. 二、全国计算机三级数据库考试——理论知识总结(填空题)
  15. PIPE接口基本描述
  16. POI 读写EXCEL日期类型单元格
  17. MAC下搭建Hexo博客
  18. 算法题Nuts and Bolts(螺母螺钉)快速排序详细讲解(含流程图)
  19. c语言关键词中英翻译机编程,课程设计--C语言关键字中英翻译机
  20. 微信扫码登录很难吗?5步帮你搞定

热门文章

  1. Java NIO之Channel(通道)
  2. onMeasure模式
  3. LeetCode 451. Sort Characters By Frequency
  4. 通过Visual Studio为Linux编写C++代码
  5. 运维:windows+python+route的一次相遇
  6. Linux系统简介 、 安装Linux系统 、 RHEL6基本操作
  7. [Android Pro] InputStream.skip方法的思考
  8. mysql show status
  9. Windows 家族的十二种常用密码破解法
  10. 石川es6课程---5、函数-参数