`

iframe语法小结

阅读更多
IFrame语法小全

IFrame可以在网页内嵌入另一个页面,类似“画中画”形式。

  标记的使用格式是:


  <Iframe src="URL" width="x" height="x" scrolling="[OPTION]" frameborder="x"></iframe>
  src:文件的路径,既可是HTML文件,也可以是文本、ASP等;
  width、height:"画中画"区域的宽与高;
  scrolling:当SRC的指定的HTML文件在指定的区域不显不完时,滚动选项,如果设置为NO,则不出现滚动条;如为Auto:则自动出现滚动条;如为Yes,则显示;
  FrameBorder:区域边框的宽度,为了让“画中画“与邻近的内容相融合,常设置为0。

<a href="http://www.myfrfr.com/"><font color=white> 法语法国网站整理 Myfrfr.com </font> </a>

  比如:


  <Iframe src="http://www.csdn.net"; width="250" height="200" scrolling="no" frameborder="0"></iframe>
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

  窗口与浮动帧之间的相互控制

  在脚本语言与对象层次中,包含Iframe的窗口我们称之为父窗体,而浮动帧则称为子窗体,弄清这两者的关系很重要,因为要在父窗体中访问子窗体或相反都必须清楚对象层次,才能通过程序来访问并控制窗体。


  1、在父窗体中访问并控制子窗体中的对象


  在父窗体中,Iframe即子窗体是document对象的一个子对象,可以直接在脚本中访问子窗体中的对象。


  现在就有一个问题,即,我们怎样来控制这个Iframe,这里需要讲一下Iframe对象。当我们给这个标记设置了ID 属性后,就可通过文档对象模型DOM对Iframe所含的HTML进行一系列控制。


  比如在example.htm里嵌入test.htm文件,并控制test.htm里一些标记对象:
  <Iframe src="test.htm" id="test" width="250" height="200" scrolling="no" frameborder="0"></iframe>
test.htm文件代码为:
  <html>
   <body>
    <h1 id="myH1">hello,my boy</h1>
   </body>
  </html>
  如我们要改变ID号为myH1的H1标记里的文字为hello,my dear,则可用:
  document.myH1.innerText="hello,my dear"(其中,document可省)
  在example.htm文件中,Iframe标记对象所指的子窗体与一般的DHTML对象模型一致,对对象访问控制方式一样,就不再赘述。


  2、在子窗体中访问并控制父窗体中对象


  在子窗体中我们可以通过其parent即父(双亲)对象来访问父窗口中的对象。
  如example.htm:
  <html>
   <body onclick="alert(tt.myH1.innerHTML)">
    <Iframe name="tt" src="frame1.htm" width="250" height="200" scrolling="no" frameborder="0"></iframe>
    <h1 id="myH2">hello,my wife</h1>
   </body>
  </html>
  如果要在frame1.htm中访问ID号为myH2中的标题文字并将之改为"hello,my friend",我们就可以这样写:
  parent.myH2.innerText="hello,my friend"
  这里parent对象就代表当前窗体(example.htm所在窗体),要在子窗体中访问父窗体中的对象,无一例外都通过parent对象来进行。


  Iframe虽然内嵌在另一个HTML文件中,但它保持相对的独立,是一个“独立王国“哟,在单一HTML中的特性同样适用于浮动帧中。


  试想一下,通过Iframe标记,我们可将那些不变的内容以Iframe来表示,这样,不必重复写相同的内容,这有点象程序设计中的过程或函数,减省了多少繁琐的手工劳动!另外,至关重要的是,它使页面的修改更为可行,因为,不必因为版式的调整而修改每个页面,你只需修改一个父窗体的版式即可了。


  要注意的是,Nestscape6.0之前版本不支持Iframe标记。


  例子:

1:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
<iframe src="页面" width="宽度" height="高度" align="排列可以是left或right,center" scrolling="是否有滚动条可以填no或yes"></iframe>


<IFRAME frameBorder=0 frameSpacing=0 height=25 marginHeight=0 marginWidth=0 scrolling=no name=main src="bgm/bgm.html" width=300></IFRAME>


2:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
用了iframe后 发现滚动条不漂亮 想用2个图片来代替↑↓


应该怎么实现呢?
回答:
用下列代码替换网页的<title>..</title>
<SCRIPT LANGUAGE="javascript">
function scroll(n)
{temp=n;
Out1.scrollTop=Out1.scrollTop+temp;
if (temp==0) return;
setTimeout("scroll(temp)",80);
}
</SCRIPT>
<TABLE WIDTH="330">
<TR>
<TD WIDTH="304" VALIGN="TOP" ROWSPAN="2" >
<DIV ID=Out1 STYLE="width:100%; height:100;overflow: hidden ;border-style:dashed;border-width: 1px,1px,1px,1px;">
文字<BR> 文字<BR>
文字<BR>
文字<BR>
文字
<BR>
<BR>
</DIV>
</TD>
<TD WIDTH="14" VALIGN="TOP"><IMG SRC="photo/up0605.gif" WIDTH="14" HEIGHT="20" onmouseover="scroll(-1)" onmouseout="scroll(0)" onmousedown="scroll(-3)" BORDER="0" ALT="按下鼠标速度会更快!"></TD>
</TR>
<TR>
<TD WIDTH="14" VALIGN="BOTTOM"><IMG SRC="photo/down0605.gif" onmouseover="scroll(1)" onmouseout="scroll(0)" onmousedown="scroll(3)" BORDER="0" WIDTH="15" HEIGHT="21" ALT="按下鼠标速度会更快!"></TD>
</TR>
</TABLE>

<a href="http://www.myfrfr.com/"><font color=white> 法语法国网站整理 Myfrfr.com </font> </a>

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
下面这段代码可以实现IFrame自适应高度,即随着页面的长度,自动适应以免除页面和IFrame同时出现滚动条。

源代码如下

<script type="text/javascript">
//** iframe自动适应页面 **//

//输入你希望根据页面高度自动调整高度的iframe的名称的列表
//用逗号把每个iframe的ID分隔. 例如: ["myframe1", "myframe2"],可以只有一个窗体,则不用逗号。

//定义iframe的ID
var iframeids=["test"]

//如果用户的浏览器不支持iframe是否将iframe隐藏 yes 表示隐藏,no表示不隐藏
var iframehide="yes"

function dyniframesize()
{
var dyniframe=new Array()
for (i=0; i<iframeids.length; i++)
{
if (document.getElementById)
{
//自动调整iframe高度
dyniframe[dyniframe.length] = document.getElementById(iframeids);
if (dyniframe && !window.opera)
{
dyniframe.style.display="block"
if (dyniframe.contentDocument && dyniframe.contentDocument.body.offsetHeight) //如果用户的浏览器是NetScape
dyniframe.height = dyniframe.contentDocument.body.offsetHeight;
else if (dyniframe.Document && dyniframe.Document.body.scrollHeight) //如果用户的浏览器是IE
dyniframe.height = dyniframe.Document.body.scrollHeight;
}
}
//根据设定的参数来处理不支持iframe的浏览器的显示问题
if ((document.all || document.getElementById) && iframehide=="no")
{
var tempobj=document.all? document.all[iframeids] : document.getElementById(iframeids)
tempobj.style.display="block"
}
}
}

if (window.addEventListener)
window.addEventListener("load", dyniframesize, false)
else if (window.attachEvent)
window.attachEvent("onload", dyniframesize)
else
window.onload=dyniframesize
</script>

posted on 2005-03-01 17:21 Netscape 阅读(2175) 评论(10) 编辑 收藏

评论
# re: IFrame语法小全 谢谢,很有帮助,google第一条.嘿嘿
2005-03-11 15:51 | tangzhijun
# re: IFrame语法小全 你好,看了你的IFrame语法小全一文感觉很好,请看下面的代码
<html>
<head>
</head>
<body onclick="alert(document.t.links.length)">
<iframe width=’100%’ name="t" id="t" height=8 marginwidth=0 marginheight=0 hspace=0 vspace=0 frameborder=0 scrolling=auto bordercolor=#000000 src="<A&NBSP;TARGET="_NEW"&NBSP;HREF="HTTP: iframe>? msn">< www.Lvyo.cn># re: IFrame语法小全 lizhq的onclick标签不被body属性支持。虽然浏览器提示scripe错误,但并没有为空或不是对象的提示。
能请教你这个onclick标签放在这里你是想达到什么目的?
2005-03-25 17:42 | W3C.ORG
# re: IFrame语法小全 body属性支持onclick标签,你把<body onclick="alert(document.t.links.length)"> 改成<body onclick="alert(’document.t.links.length’)">就没问题
2005-03-25 20:46 | lizhq
# re: IFrame语法小全 iframe中嵌入的asp页无法设置 session 和 cookies 这个问题怎样解决?
2005-03-27 11:36 | majun
# re: IFrame语法小全 可以嵌入asp页吗
2005-03-27 18:02 | lizhq
# re: IFrame语法小全 我如何动态更换 IFrame 的 src???
2005-03-31 10:46 | kin_huang
# re: IFrame语法小全 <table width="853" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="426" height="162"><iframe src="art3.asp?cat_id=1" width="50" height="50" scrolling="[no]" frameborder="0"></td>
<td width="427"><iframe src="art4.asp?cat_id=1" width="50" height="50" scrolling="[no]" frameborder="0"></td>
</tr>
</table>
上面我做的,的显示的都在一起,如何把他们按照自己的意愿放置啊???
2005-04-08 09:02 | 嘟嘟
# re: IFrame语法小全 我已经找到方法了只要在后面加上</iframe>就可以了!
2005-04-08 11:53 | 嘟嘟
# re: IFrame语法小全 请问以下coad在IE6中为何滚动条不发生作用


用了iframe后 发现滚动条不漂亮 想用2个图片来代替↑↓


应该怎么实现呢?
回答:
用下列代码替换网页的<title>..</title>
<SCRIPT LANGUAGE="javascript">
function scroll(n)
{temp=n;
Out1.scrollTop=Out1.scrollTop+temp;
if (temp==0) return;
setTimeout("scroll(temp)",80);
}
</SCRIPT>
<TABLE WIDTH="330">
<TR>
<TD WIDTH="304" VALIGN="TOP" ROWSPAN="2" >
<DIV ID=Out1 STYLE="width:100%; height:100;overflow: hidden ;border-style:dashed;border-width: 1px,1px,1px,1px;">
文字<BR> 文字<BR>
文字<BR>
文字<BR>
文字
<BR>
<BR>
</DIV>
</TD>
<TD WIDTH="14" VALIGN="TOP"><IMG SRC="photo/up0605.gif" WIDTH="14" HEIGHT="20" onmouseover="scroll(-1)" onmouseout="scroll(0)" onmousedown="scroll(-3)" BORDER="0" ALT="按下鼠标速度会更快!"></TD>
</TR>
<TR>
<TD WIDTH="14" VALIGN="BOTTOM"><IMG SRC="photo/down0605.gif" onmouseover="scroll(1)" onmouseout="scroll(0)" onmousedown="scroll(3)" BORDER="0" WIDTH="15" HEIGHT="21" ALT="按下鼠标速度会更快!"></TD>
</TR>
</TABLE>
分享到:
评论

相关推荐

    Asp.net中Frameset的使用小结(2)

    ### Asp.net中Frameset的使用小结(2) #### 1. `&lt;IFRAME&gt;` 标签详解 - **定义**:`&lt;IFRAME&gt;` 标签用于在当前网页内部嵌入另一个HTML文档。这是一个自闭合标签,主要用于在浏览器窗口中创建一个子窗口来展示其他内容...

    疯狂HTML 5+CSS 3+JavaScript讲义(第2版)+源代码

    1.4 本章小结 12 第2章 HTML 5的常用元素与属性 14 2.1 HTML 5保留的常用元素 15 2.2 HTML 5增强的iframe元素 34 2.3 HTML 5保留的通用属性 40 2.4 HTML 5新增的通用属性 44 2.5 HTML 5新增的结构元素 48 2.6...

    从入门到精通HTML5——PDF——网盘链接

     1.5 小结 15  1.6 习题 16  第2章 HTML文件基本标记 17  教学录像:44分钟  2.1 HTML头部标记 18  2.2 标题标记&lt;title&gt; 18  2.3 元信息标记&lt;meta&gt; 19  2.3.1 设置页面关键字 19  2.3.2 设置...

    JavaScript多种页面刷新方法小结

    JavaScript页面刷新方法小结部分还提供了一些其他页面刷新的手段,包括但不限于: - history.go(0):类似按F5刷新当前页面。 - location=location或location.assign(location):这两种写法等同于调用location.reload...

    xhtml的块级标记小结

    在网页设计和开发中,XHTML (Extensible HyperText Markup Language) 是HTML的一个扩展,它引入了更严格的语法,使得代码更加结构化和规范。本文将深入探讨XHTML中的块级标记,这些标记用于创建页面的基本结构和布局...

    Javascript中常用的检测方法小结

    但是,instanceof运算符在跨iframe或window对象时可能不准确,因为它检查的是构造函数的原型是否存在于对象的原型链上。 3. 使用Object.prototype.toString()方法: 这是一种兼容性非常高的方法,几乎可以在所有...

    XHTML1.0与HTML兼容指引16条 小结

    8. **标识符的选择**:优先使用`id`属性作为元素的唯一标识,避免使用`name`属性,尤其是对于特定元素如`a`, `applet`, `form`, `frame`, `iframe`, `img`, 和 `map`。 9. **文档字符集定义**:为确保字符集的一致...

    针对IE6的一些CSS Hack编写时的注意点小结

    - 这种写法中,Firefox会忽略IE特有的注释和属性选择器,而IE6、IE7和IE8则根据它们能识别的特定语法来应用样式。 4. IE6兼容的额外细节: - IE6不支持position: fixed。要在IE6中固定元素位置,可能需要使用CSS...

    html和css详细总结

    - **对比与小结**: - 块元素用于页面布局;内联元素用于文本样式化。 - 通常块元素包含内联元素,反之则少见。 - 特殊情况,如 `&lt;a&gt;` 可以包含除自身外的其他标签。 #### 二、CSS选择器与盒模型 **5. CSS选择器...

Global site tag (gtag.js) - Google Analytics