易截截图软件、单文件、免安装、纯绿色、仅160KB

用javascript访问操作iframe里的dom

 
很多人一直都有个想法,要是可以随心所欲的操作iframe就好了。这样静态页面也就有了相当于后台动态页面php,jsp,asp中include,require实现统一多页面布局的能力。
通过Javascript的帮忙我们可以像后台一样动态加载操作iframe对象属性src指向的html页面的内容。这样的操作需要提供两个页面,一个页面是iframe所在页面(页面名称:iPage.html),另一个页面是iframe属性src指向页面(页面名称:srcPage.html)。
iPage.html,<body>里dom:
<iframe id=“iId“ name=“iName“ src=“srcPage.html“ scrolling=“no“ frameborder=“0“></iframe>
srcPage.html,<body>里dom:
<h1>妹妹的一天</h1> 
<p>早上吃早点,中午约会吃饭,下午K歌,晚上和哥哥瞎折腾</p>
下面讨论ie下JS是怎么操作以上两个页面,再讨论firefox的做法,最后给出兼容ie,firefox浏览器操作iframe对象的方法。
一、ie下访问操作iframe里内容
大家都知道iframe是非标准html标签,它是由ie浏览器推出的多布局标签, 随后Mozilla也支持了这个标签。(闲话,嘿嘿)
1. ie通过document.frames["IframeName"]获取它,例子:我们在iPage.html里输出srcPage.html里h1的内容,JS如下:
alert(document.frames["iName"].document.getElementsByTagName(‘h1‘)[0].firstChild.data);
你会发现这样在页面里加入代码,好像并没有输出想要的东东,为什么呢?这个我也没有搞清楚,只是习惯性的加入了window.onload就有输出了(注:JS代码都写到这个事件里去),知道的人士可否告诉我下。why?更改之后代码ie下有了输出,firefox下document.frames没有定义错误提示:
window.onload = (function () { 
  alert(document.frames["iName"].document.getElementsByTagName(‘h1‘)[0].firstChild.data);
});
2. ie另一种方法contentWindow获取它,代码:
window.onload = (function () { 
 var iObj = document.getElementById(‘iId‘).contentWindow;
 alert(iObj.document.getElementsByTagName(‘h1‘)[0].firstChild.data);
});
此方法经过ie6,ie7,firefox2.0,firefox3.0测试都通过,好事啊!嘿嘿。(网上一查,发现Mozilla Firefox iframe.contentWindow.focus缓冲区溢出漏洞,


相关文档:

javascript StyleSheet样式操作类

早上在csdn上看有人问页面style sheet怎么修改里面的rule,就写了个类,该类对兼容FF和IE做了处理。
/**//*--------------------------------------------
    描述 : 添加新的样式rule
    参数 : styleSheets索引
    代码 :&nb ......

常用正则表达式,常用表单验证javascript代码

function f_MobilCheck(as_SourceString)
{
 if(as_SourceString.match(/^13[0-9]{9}$/g)) return true;  //手机号为13开头的11位数字
 else if(as_SourceString.match(/^[0]{1}[0-9]{2,3}[2-8]{1}[0-9]{5,7}$/g)) return true;  //小灵通为0开头的3-4位的区号+不以1和9开头的6-8位数字
 retur ......

一个CSS+JavaScript编写的跑马灯程序

转自:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>图片跑马灯</title>
</head>
<body>
<div style="overflow:hidden; width:350px" id='div'>
<!-- 这里是第一个关键点,o ......

JavaScript中toGMTString函数

JavaScript中toGMTString函数方法是返回一个日期,该日期用格林威治标准时间 (GMT) 表示并已被转换为字符串。使用方法:
dateObj .toGMTString()
JavaScript中toGMTString函数方法已经过时,之所以仍然提供这个方法,只是为了提供向后的兼容性。推荐改用 toUTCString 方法。
toGMTString 方法返回一个 String 对象,此 ......

JavaScript之信息的封装

/*
* JavaScript之信息的封装
* 在编码前,我们需要了解如下几个术语;
* 封装:对内部数据的表现形式和实施细节进行隐藏;
* 私有属性和方法:外界只能通过其公开的接口与其进行存取和交互
* 作用域:JavaScript中,只有函数具有作用域,函数内部定义的属性和方法在外部无法访问
* 特权方法:声明在函数内部, ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号