易截截图软件、单文件、免安装、纯绿色、仅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 字符串 substring 与 substr 区别

stringObject.substring(start,end);
函数方法将返回一个包含从 start 到最后(不包含 end )的子字符串的字符串.
start     必需。一个非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置.
stop     可选。一个非负的整数,比要提取的子串的最后一个字符在 stringObject ......

Javascript之浏览器对象


浏览器对象
 
 
浏览器对象就是网页和浏览器本身各种实体元素在JavaScript程序中的体现。这样的浏览器对象主要包括以下几个
●  Navigator:管理者当前使用浏览器的版本号、运行的平台以及浏览器使用的语言等信息。
●  Windows对象:处于整个从属表的最顶级位置。每一个这样的对象代表一个浏览 ......

常用正则表达式,常用表单验证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 ......

学习《JavaScript高级程序设计》学习笔记(三)

第三章   对象基础
      在javaScript中,对象是无特定顺序的值的数组。
一、对象的类型
    分为本地对象、内置对象和宿主对象三种,其中内置对象也属于本地对象。
二、本地对象:
    1、Array类,数组类。
      ......

javascript对象之——内置对象“Math”

javascript对象之——内置对象“Math”
Math对象的一些方法能实现我们课本上的某些数学计算,比较常用的方法有如下几个:
一、Math.min()和Math.max(),分别返回参数中的最小和最大值
  例:
  alert(Math.min(1,2,3))  //输出 “1”
  alert(Math.max(1,2,3))  //输出 &ldq ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号