`
lxs647
  • 浏览: 523270 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

iframe用法与注意事项【转】

阅读更多
iframe元素的功能是在一个文档里内嵌一个文档,创建一个浮动的帧。iframe是如何控制的很多人并不是十分了解,基本上还处于一个模糊的认识状态。
      iframe的两个注意事项,ifr是一个以存在的iframe的ID和NAME值:
以下是引用片段:
   document.getElementById(“ifr”);
   window.frames[“ifr”];

  要想使用iframe内的函数,变量就必须通过第二种方法.因为它取的是一个完整的DOM模型(不知道这样说对不对).第一种方法只是取出了一个OBJECT而已.
  如果只想改变iframe的 src 或者 border , scrolling 等 attributes(与property不是一个概念,property是不能写在标签内的,比如:scrollHeight,innerHTML等),就需要用到第一种方法.
  如果想取得iframe的页面(不是iframe本身),就需要使用第二种方法,因为它取得的是一个完整的DOM模型,比如想得到iframe的document.body的内容,就只能用第二种方法.
  还要注意的是,如果在iframe的页面未完全装入的时候,调用iframe的DOM模型,会发生很严重的错误,所以,你要准备一个容错模式.
  下面是示例,一个是aa.htm,一个是bb.htm!
  aa.htm
      代码: 以下是引用片段:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>Untitled Page</title>
<style type="text/css">
<!--
body{
margin:0px;
}
-->
</style>
</head>
<body>
<iframe id="ifr" name="ifr" width="100%" height="500" src="/upload/tu/upload/bb.htm"></iframe>
</body>
</html>
<script language="javascript" type="text/javascript">
var aa_value="I'm a variant in Top window!";
var ifr_id=document.getElementById("ifr");
var ifr_window=window.frames["ifr"];
alert("Alert from Top window : Can't get iframe's variant by ifr_id, it will return :" + ifr_id.bb_var);
alert("Alert from Top window : Can't get iframe's DOM model by ifr_id ,it will return :" + ifr_id.window);
alert("Alert from Top window : Get src from id :" + ifr_id.src);
alert("Alert from Top window : Get href from window:" + ifr_window.document.location.href);
//由于bb.htm可能还未装载完成,所以,下冇的可能引发错误 
//调用iframe内的函数 ifr_window.bb();
//调用iframe内的变量
alert("Alert from Top window : " + ifr_window.bb_var);
//
alert("Alert from Top Window :" + ifr_window.document.body.innerHTML);
function aa(msg){
    alert("I'm  alerting from Top window ,and I received a msg:\n" + msg);
}
</script>
      bb.htm
      代码: 以下是引用片段:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>sub frame</title>
<style type="text/css">
<!--
html,body{
margin:0px;
width:90%;
}
-->
</style>
</head>
<body>
   
本文来自[教育资源网]www.qyzl.cn收集与整理,感谢原作者。


    I'm a sub frame!
    
<br />
    ...<br />
    ...<br />
    ...<br />
    ...<br />
    ...<br />
    ...<br />
    ...<br />
    ...<br />
    ...<br />
    ...<br />
    ...<br />
    ...<br />
    ...<br />
    ...<br />
    ...<br />
    ...<br />
    ...<br />
    ...<br />
    ...<br />
    ...<br />
    ...<br />
    ...<br />
    ...<br />
    ...<br />
    ...<br />
    ...<br />
    ...<br />
    ...<br />
    ...<br />
    ...<br />
    ...<br />
    ...<br />
    ...<br />
    ...<br />
    ...<br />
    ...<br />
    ...<br />
    ...<br />
    ...<br />
    ...<br />
    ...<br />
    ...
</body>
</html>
<script language="javascript" type="text/javascript">
var bb_var="I'm a  variable in ifr";
function bb(){
    alert("Alert from iframe :I'm frame ifr's function")
}
//获取父页面的变量
alert("Alert from iframe parent.ifr_id::" + parent.ifr_id);
alert("Alert from iframe parent.aa_value : " + parent.aa_value);
//通过父页面的ifr_id来改变 iframe的高度
alert("Alert from iframe : ifr's clientHeight :" +document.body.clientHeight);
parent.ifr_id.height=document.body.clientHeight;
alert("Alert from iframe : ifr's scrollHeight : " + document.body.scrollHeight);
//调用父窗体的函数:
parent.aa("I will calling a function which is Top window's ");
//改变父窗体的标题:
alert("Alert from iframe : I will changing Top window's title");
top.document.title="The title value changed";
//通过父窗体的ifr_id来改变的border 与scrolling
alert("Alert from iframe : I will change my border and scrolling :");
top.ifr_id.border=0;
top.ifr_id.scrolling="no";
</script>
分享到:
评论

相关推荐

    iframe 的用法与注意事项

    `iframe`,全称`&lt;iframe&gt;`,是HTML中的一个元素,用于在当前HTML文档中嵌入另一个HTML文档。它常被用来实现页面内联框架,实现内容的...在实际应用中,需根据具体需求选择合适的使用方式,并注意上述提到的注意事项。

    iframe兄弟页面相互调用

    **三、注意事项** - **同源策略:** 由于浏览器的安全限制,只有同源(协议、域名、端口相同)的`iframe`才能互相访问对方的DOM和JavaScript对象。如果跨源,只能使用`postMessage`进行通信。 - **事件冒泡:** `...

    ASP.NET iframe 的通用用法

    #### 四、注意事项 - **兼容性**: `&lt;iframe&gt;` 在不同浏览器中的表现可能略有差异,特别是在 IE5.5 以上的版本中支持更多功能。 - **性能**: 使用过多的 `&lt;iframe&gt;` 会影响页面加载速度,因此应尽量减少使用数量。 -...

    iframe的用法

    #### 注意事项 虽然`iframe`提供了很多便利,但在使用时也需要注意一些问题: 1. **性能影响**:每个`iframe`都相当于加载了一个新的页面,因此过多使用可能会导致页面加载变慢。 2. **跨域限制**:如果`iframe`...

    iframe框架用法收藏

    #### 四、优化与注意事项 - **性能优化**:虽然Iframe可以减少某些内容的重复加载,但如果使用不当,也可能导致页面加载速度变慢。因此,合理规划哪些内容适合使用Iframe加载是非常重要的。 - **跨域限制**:由于...

    js调用-嵌入iframe

    综上所述,"js调用-嵌入iframe"涉及到的主要知识点包括IFrame的基本使用、JavaScript与IFrame的交互以及测试中的注意事项。理解并掌握这些内容,对于网页开发尤其是动态内容加载和页面组件的复用具有重要意义。

    iframe 的使用

    #### 六、注意事项 - **兼容性问题**:需要注意不同浏览器对 Iframe 的支持情况,特别是早期版本的 Netscape 浏览器并不支持 Iframe。 - **安全性问题**:由于 Iframe 可以加载任意来源的内容,因此在使用过程中...

    完全搞定iframe(框架)里的滚动条.doc

    #### 注意事项 - 不同浏览器对iframe的支持有所不同,因此在实现过程中需要注意兼容性问题。 - 对于跨域的iframe,由于同源策略的限制,可能无法直接访问B页面的内容,此时需要考虑其他解决方案,如使用JSONP或...

    iframe跨域通信解决方法

    5. **注意事项** - 确保所有参与通信的页面都加载了相同的`crossUtils.js`文件版本。 - 当发送包含敏感数据的消息时,务必注意安全性,避免跨站请求伪造(CSRF)攻击。 - 测试时,建议使用控制台输出来检查消息...

    IFrame中Session丢失的解决办法

    5. **Frameset的使用与注意事项:** 使用Frameset时,每个框架都视为独立的文档,因此需要在每个框架的页面加载事件中添加响应代码,如`page_onload`事件,以确保Session的一致性和可用性。 6. **了解浏览器差异:...

    iframe使用实例

    下面将详细解释`iframe`的基本概念、属性、使用方法以及一些实际应用示例。 ### 1. iframe的基本概念 `iframe`是HTML中的一个标签,全称为内联框架。它定义了一个可以插入其他HTML文档的区域,这使得我们可以在一...

    iframe标签实现网页部分刷新

    下面我们将详细探讨`iframe`的使用方法、优势以及注意事项。 一、`iframe`标签的基本结构与属性 1. 基本结构: `&lt;iframe src="http://example.com" width="500" height="300"&gt;&lt;/iframe&gt;` `iframe`标签通过`src`...

    iframe父页面与子页面互相调用

    注意事项 - **跨域问题**:如果父页面和子页面不在同一个域下,则无法进行上述的DOM操作,因为这违反了浏览器的同源策略。解决方法是通过JSONP、CORS等方式实现跨域数据交换。 - **命名规范**:在使用`window....

    完美解决iframe跨域问题

    3. **注意事项**: - `window.name`的长度限制取决于浏览器,一般可存储几MB的数据,但过大的数据可能会影响性能。 - 这种方法的安全性相对较低,因为任何页面都可以读取到`window.name`,所以敏感信息不宜通过...

    iframe实例

    本实例将通过两个具体的例子来深入解析`iframe`的使用方法。 **例子一:嵌入外部网页** 在第一个例子中,我们将会看到如何使用`iframe`来嵌入一个外部网站。`src`属性是`iframe`的关键,它指定要加载的网页URL。...

    js 实现iframe 之间传值

    3. `postMessage()`的注意事项: - `event.origin`用于验证发送消息的源是否可信,防止跨站脚本攻击。 - 数据类型不限,但复杂对象会被序列化成字符串,接收端需要自行解析。 - `*`作为目标窗口表示接收所有源的...

    jQuery获取iframe的document对象的方法

    本篇文章将详细介绍如何在jQuery中获取`iframe`的`document`对象,并探讨相关的应用和注意事项。 ### 1. 获取`iframe`的`document`对象 如标题和描述所述,获取`iframe`的`document`对象通常是为了进行DOM操作。在...

    iframe里使用JavaScript控制主页转向的方法

    知识点五:实际应用中的注意事项 在实际应用中,由于同源策略的存在,跨域操作(如上面的***操作)可能会受到限制。因此,当iframe中的页面和顶层页面来自不同的域时,上述代码可能不会工作。为了绕过这些限制,可能...

Global site tag (gtag.js) - Google Analytics