“画中画”效果--谈IFRAME标签的使用
纵观时下网站,本来网速就有些慢,可是几乎每页都要放什么Banner,栏目图片,版权等一大堆雷同的东西,当然,出于网站风格统一、广告效应的需要,本无可厚非,可毕竟让用户的钱包为这些“点缀“的东西”日益消得钱憔悴”了,有没有办法,让这些雷同的东西一次下载后就不用再下载,而只下载那些内容有变化区域的网页内容呢?
答案很肯定:应用Iframe标记!
一、Iframe标记的使用
提起Iframe,可能你早已将之扔到“被遗忘的角落”了,不过,说起其兄弟Frame就不会陌生了。Frame标记即帧标记,我们所说的多帧结构就是在一个浏览器窗口中显示多个HTML文件。现在,我们遇到一种很现实的情况:如有一个教程,是一节一节地上,每页末尾做一个“上一节“、“下一节“的链接,除了每节教程内容不同之外,页面其它部分内容都是相同的,如果一页一页地做笨页面,这似乎太让人厌烦了,这时突发奇想,如果有一种方法让页面其它地方不变,只将教程做成一页一页的内容页,不含其它内容,在点击上下翻页链接时,只改变教程内容部分,其它保持不变,这样,一是省时,另则以后如教程有个三长两短的变动,也很方便,不致于牵一发而动全军了;更重要的是将那些广告Banner、栏目列表、导航等几乎每页的都有的东西只下载一次后就不再下载了。 Iframe标记,又叫浮动帧标记,你可以用它将一个HTML文档嵌入在一个HTML中显示。它不同于Frame标记最大的特征即这个标记所引用的HTML文件不是与另外的HTML文件相互独立显示,而是可以直接嵌入在一个HTML文件中,与这个HTML文件内容相互融合,成为一个整体,另外,还可以多次在一个页面内显示同一内容,而不必重复写内容,一个形象的比喻即“画中画“电视。
现在我们谈一下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。
比如:
<Iframe src="http://netschool.cpcw.com/homepage";; 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 οnclick="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来表示,这样,不必重复写相同的内容,这有点象程序设计中的过程或函数,减省了多少繁琐的手工劳动!另外,至关重要的是,它使页面的修改更为可行,因为,不必因为版式的调整而修改每个页面,你只需修改一个父窗体的版式即可了。
有一点要注意,Nestscape浏览器不支持Iframe标记,但在时下IE的天下,这似乎也无大碍,广泛采用Iframe标记,既为自己(网站)着了想,又为网友节省了网费,何乐而不为?
例子:
<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" οnmοuseοver="scroll(-1)" οnmοuseοut="scroll(0)" οnmοusedοwn="scroll(-3)" BORDER="0" ALT="按下鼠标速度会更快!"></TD>
</TR>
<TR>
<TD WIDTH="14" VALIGN="BOTTOM"><IMG SRC="photo/down0605.gif" οnmοuseοver="scroll(1)" οnmοuseοut="scroll(0)" οnmοusedοwn="scroll(3)" BORDER="0" WIDTH="15" HEIGHT="21" ALT="按下鼠标速度会更快!"></TD>
</TR>
</TABLE>
相关文章:
Cognitive Inference:认知推理下的常识知识库资源、常识推理测试评估与中文实践项目索引...
作者 | 刘焕勇责编 | 李雪敬出品 | CSDN博客CognitiveInferenceCognitive Inference,认知推理、常识知识库、常识推理与常识推理评估的系统项目,以现有国内外已有的常识知识库为研究对象,从常识知识库资源建设和常识推理测试评估两个方面出发…

敏捷开发实践总结(二):关于测试
用了两个冲刺周期,我们组算是把敏捷开发的测试流程给捋顺了。这里对我们的测试,以及敏捷开发中的测试做一个小结。一、开发组一定不能讳疾忌医。作为开发人员,一定要秉着这个出发点去看待测试。业务测试测试组测试,自测࿰…

手机网站的几点注意
http://www.haorooms.com/post/phone_web转载于:https://www.cnblogs.com/momox/p/6252679.html

HEAD元素使用集锦
作者:火焰鸟 文章来源:大众网络报 HTML文档由两部分组成:Head(主题部分,一般来说是不可见的)和Body(正文部分,在浏览器中是可见的)。随着FrontPage及Dreamweaver&…
10 个 Python 工程师,9 个不合格!
毋庸置疑,Python越来越被认可为程序员新时代的风口语言。无论是刚入门的程序员,还是年薪百万的 BATJ 的大牛都无可否认:Python的应用能力是成为一名码农大神的必要项。 所以,很多程序员把Python当做第一语言来学习。 但对于Python…

使用谷歌jquery库文件的理由
使用谷歌jquery库文件的理由 最近看到,那些引用jquery的文件那些网站,好多是使用谷歌的库;像这样的<script type”text/javascript”src”http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js“></script>(最近发展…

apache性能测试工具ab使用详解
网站性能压力测试是服务器网站性能调优过程中必不可缺少的一环。只有让服务器处在高压情况下,才能真正体现出软件、硬件等各种设置不当所暴露出的问题。性能测试工具目前最常见的有以下几种:ab、http_load、webbench、siege。今天我们专门来介绍ab。ab是…

HTML-加速、再加速
作者:听风 文章来源:eNet技术学院web开发人员是否必须掌握复杂的组件技术才能加快html页面的访问速度?答案是:不一定!实际上,有许多关于HTML与DHTML方面的技巧,它们原理简单而且上手容易。无…
ECCV 2020 | 对损失信息进行建模,实现信号处理高保真还原
编者按:信号在我们的日常生活中随处可见,例如:声音、图像、视频等。然而在信号的传输或存储过程中,往往会面临信号失真、质量变差等问题。今天这篇文章就来探讨一下信号处理中的信息丢失问题,其中包括微软亚洲研究院机…

斯坦佛编程教程-Unix编程工具(四)
emacs 下面将会简单的介绍一个叫做emacs的文本编辑器,它是由GNU组织提供的自由软件。它是一个非常优秀的编译器,并且,它能很好地和其他UNIX工具整合在一起。很多编辑器都有着非常多的理由来说明他们多优秀,但是这里我们就不讨论这…

addTwoNumbers
大神的代码好短,自己写的120多行_ 各种判断 ListNode *f(ListNode *l1, ListNode *l2) {ListNode *p1 l1;ListNode *p2 l2;ListNode *res new ListNode(0);ListNode *p3 res;int sum 0;while (p1 ! NULL || p2 ! NULL) { //这里用“或”sum / 10; //进位if (p1…

长江存储推消费级固态硬盘,Xtacking技术加持
9月10日,一直专注于to B的长江存储推出致钛系列两款消费级固态硬盘(SSD)新品,分别为PCIe接口PC005 Active和SATA接口SC001 Active,兼具强劲的性能和可靠的品质,并由Xtacking技术加持。目前两款产品现已登陆京东预售,两…

停电后,JavaScript定时器居然变慢了~
小停了会电。除了有点热,对于用笔记本的我们来说毫无损失。 不过,一件诡异的事却在这短短几分钟里遇到了:用 IE 测试 JavaScript 代码的时候,发现setInterval的频率变成了60帧/秒。 这在老版本的IE上面是再正常不过了。不过对于与…

HTML4.0标准语法--字体
◇ 标题字体(Header) <h#> ... </h#> #1, 2, 3, 4, 5, 6 <h1>今天天气真好!</h1> 今天天气真好! <h2>今天天气真好!</h2> 今天天气真好! <h3>今天天气真好!</h3>…

Tomcat 7.x热部署
由于在开发阶段,需要频繁的修改源代码,如果每次修改完代码都去重启服务器来检测效果,那简直麻烦到你想死,又耽误时间,所以,在网上找了许久,终于找到了解决办法, 特来分享 我也试了修…
机器学习中,梯度下降算法的问题引入
来源 | 动画讲编程今天讲解的内容是梯度下降算法。梯度下降算法在机器学习中的应用十分广泛,该算法的最主要目的是通过迭代的方法找到目标函数的最小值,经常用来解决线性回归和逻辑回归等相关问题。本节课主要讲解梯度下降算法解决一元线性回归问题&…

HTML4.0标准语法--文字布局
◇行的控制 段(Paragraph) (可以看作是空行) <p> 你好吗?<p>很好。 你好吗? 很好。 换行 <br> 你好吗?<br>很好。 你好吗?很好。 不换行<nobr> <nobr> 请改变您浏览器窗口的宽度&#x…

poj(2325)线段树
这里介绍另外一种解法,此题可以用线段树,可以用树状数组 其实这题求的都是下面的和左面的,线段树这种数组结构刚好可以满足,为什么呢?这里稍微解释下吧,也有助于以后的复习 看上面这个图,[1,1]&…

2017-1-7 html元素分类(1)
html元素分类结构性元素 section 在web页面应用中,该元素也可以用于区域的章节描述 header 页面主体的头部 footer 页面的底部 nav 专门用于菜单的导航、链接导航的元素 article 用于表示一篇文章的主体内用块级元素 aside 泳衣表达注记、贴士、侧栏、摘要的引用等作…

MyEclipse使用技巧小总结
1、 自动提示:窗口->首选项->Java->编辑器->内容辅助->自动激活,在下面的“Java的自动激活触发器里面填上“.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789”。 2、 加快自动提示的时间:窗口->首选项…
开放源码,华为鸿蒙HarmonyOS 2.0来了
作者 | Just出品 | AI科技大本营(ID:rgznai100)去年8月,鸿蒙HarmonyOS一经发布,在开发者群体中引发强烈反响。有人赞赏华为的战略和技术,但也有不少人质疑那只是个PPT操作系统,凡此种种,热议不断…
纯CSS实现对白框
如果一个盒子的长宽都为零,那么它的四条border就会碰到一起,变成实心的,而且每一条border都是一个三角形;我们就可以利用三角形来实现对白框的尖下巴。 通过把border上左设置为有颜色,下右设置为透明,在#de…

HTML4.0标准语法--表格
表格的色彩 表元的背景色彩和背景图象<th bgcolor#> <th background"URL"> #rrggbb 16 进制 RGB 数码, 或者是下列预定义色彩名称:Black, Olive, Teal, Red, Blue, Maroon, Navy, Gray, Lime, Fuchsia, White, Green, Purple, Silver, Yello…
能力差的程序员90%输在这点上!CTO:其实都是瞎努力!
在大数据浪潮当中,数据分析是这个时代的不二“掘金技能”。我们每一个人,每天无时无刻都在生产数据,一分钟内,微博上新发的数据量超过10万,b站的视频播放量超过600万......这些庞大的数字,意味着什么&#…

zendframwork入口关键Zend_Application.php类
为什么80%的码农都做不了架构师?>>> 推荐阅读:http://www.cnblogs.com/rexy/archive/2010/05/13/1734406.html 里面有详细的类图关系,UML图。。。 转载于:https://my.oschina.net/wufa/blog/71634
2017伊始-随笔
微信小程序发布 今天,2017年1月9日,微信的小程序发布了。我打开了美团外卖小程序,然后把美团外卖app卸载了;我打开了摩拜单车小程序,然后把摩拜单车app卸载了。有人问,这种小程序与网页版的桌面图标有什么区…

广告条随滚动条的移动而移动
文章来源:蓝色理想<html><head><title>跟随滚动条的图片</title><meta http-equiv"Content-Type" content"text/html; charsetgb2312"><STYLE mediascreen typetext/css>#floater { POSITION: abs…

使用wget在linux服务器上下载oracle软件
今天需要在远程几台服务器上安装oracle软件,本地的网络不是很好,如果同本地下载,然后再上传到服务器上比较耗时。所以就想直接在服务器上直接下载软件,这样不光速度比较快,而且还节省了很多时间。 我是这样做的。 首先…
揭秘华为AI一站式开发平台,3步构建一个AI模型 | 华为昇腾师资培训沙龙西安场...
2018 年,在第三届 HUAWEI CONNECT(华为全联接大会)上,华为首次公布了 AI 战略与全栈全场景 AI 解决方案,其中包含全球首个覆盖全场景人工智能的华为昇腾(Ascend)系列处理器以及基于华为昇腾全栈…

PYTHON黑帽编程1.5 使用WIRESHARK练习网络协议分析
Python黑帽编程1.5 使用Wireshark练习网络协议分析 1.5.0.1 本系列教程说明 本系列教程,采用的大纲母本为《Understanding Network Hacks Attack and Defense with Python》一书,为了解决很多同学对英文书的恐惧,解决看书之后实战过程中遇…