澳门新浦京娱乐场网站-www.146.net-新浦京娱乐场官网
做最好的网站

澳门新浦京娱乐场网站:尽然有js写的操作系统,

只有 90 年代的 Web 开发者才记得这些

2016/04/26 · 基础技术 · 2 评论 · WEB

本文由 伯乐在线 - dcscodelife 翻译,艾凌风 校稿。未经许可,禁止转载!
英文出处:holman。欢迎加入翻译组。

你曾经强行把 <blink> 标签放入 <marquee> 标签吗?如今皮克斯动画工作室获得了所有荣誉,但是在 90 年代这个做法则是电脑动画的伟大创举。通过组合两种标签,你成为了一个先驱者。一个创意无限的人。一个令所有人都崇拜的人。

在 90 年代,你曾经是一个网页开发者。

在当时,你知道自己是一个出色的人物。伴随你而来的是极其大量的技术创新,从那时候开始,我们还没来得及做出喜好,技术就已经开始复制开来了。

让我们先放下 jQuery,抛开非关系型数据库不谈:我们有更重要的事情要讨论。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ";
<html xmlns=";
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<TITLE>『{$Think.config.web_name}管理平台』By ThinkPHP {$Think.version}</TITLE>
<load  file="../Public/css/{$Think.config.web_css_style|getDefaultStyle}.css" />
<style>
html{overflow-x : hidden;}
</style>
<base target="main" />
</HEAD>

Iframe用法精析

采用Javascript实现,用鼠标点击相应颜色,动态改变网页背景颜色

1×1.gif

1×1.gif 应该获得伟大的格莱美大奖。或者普利策新闻奖。或者类似三年级体育课上颁发的最佳进步奖。除了链式链表,它是计算机科学史上最重要的成就。它不是我们应得的未来,而是我们需要的未来(直到盒子模型彻底取代了它)。

如果你还没不熟悉我们的 1×1.gif 小把戏,请看下面:

澳门新浦京娱乐场网站 1

你能看到它吗,让我们放大一些:

澳门新浦京娱乐场网站 2

The 1×1.gif

这个 1×1.gif – 或者 spacer.gif,或者 transparent.gif – 仅仅是一个长宽都是一个像素的透明 GIF 图像。

JavaScript

<IMG SRC="/1x1.gif" WIDTH=150 HEIGHT=250>

1
<IMG SRC="/1x1.gif" WIDTH=150 HEIGHT=250>

通过上面的代码,你可以把元素放置在页面的任何位置上。

JavaScript

<TABLE> <TR> <TD><IMG SRC="1x1.gif" WIDTH=300> <TD><FONT SIZE=42>Hello welcome to my <MARQUEE>Internet Web Home</MARQUEE></FONT> </TR> <TR> <TD BGCOLOR=RED><IMG SRC="/cgi/webcounter.cgi"> </TR> </TABLE>

1
2
3
4
5
6
7
8
9
<TABLE>
  <TR>
    <TD><IMG SRC="1x1.gif" WIDTH=300>
    <TD><FONT SIZE=42>Hello welcome to my <MARQUEE>Internet Web Home</MARQUEE></FONT>
  </TR>
  <TR>
    <TD BGCOLOR=RED><IMG SRC="/cgi/webcounter.cgi">
  </TR>
</TABLE>

1×1.gif 让你毫不费力地在页面的任何位放置元素。直到今天为止,它仍然是唯一的垂直居中元素的方法。

JavaScript

          

1
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

图片对于你而言是不是太高级了?《HTML For Dummies》是不是直到第四章才介绍 <IMG> 标签?现在好了,你是幸运的:&nbsp; 标签来了!

你可以对自己说,“我知道所有 HTML 实体编码。这个弱不禁风的帅哥来这里干嘛的?”

听着,我亲爱的聪明的迷人的读者朋友,这是一个如今的年轻人没有给予足够尊重的创新:不断重复 &nbsp;。很像 1×1.gif 的小把戏,你能任意地扩展 &nbsp; 并用在任何你需要的地方:

JavaScript

PLEASE SIGN <BR>       MY GUESTBOOK BELOW: <HR><HR>

1
2
3
PLEASE SIGN  <BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MY GUESTBOOK BELOW:
<HR><HR>

在 90 年代,如果我每写下一个 &nbsp; 就得到五美分,我就会有足够的钱支付来自美国在线的每月超支账单了。

// JS/UIX v0.44
// (c) mass:werk (N.Landsteiner) 2003
// all rights reserved

<body >
<div id="menu" >
<TABLE cellpadding=0 cellspacing=0 >
<tr>
 <td height='5' colspan=7 ></td>
</tr>
<TR >
 <th ><IMG SRC="../Public/images/home.gif" WIDTH="16" HEIGHT="16" BORDER="0" ALT="" align="absmiddle"> <present name="Think.get.title"> {$Think.get.title}</present><notpresent name="Think.get.title">后台首页</notpresent> </th>
</TR>
<iterate id="item" name="menu" >
<eq name="item['group_id']" value="$menuTag">
<eq name="item['access']" value="1" >
<TR >
 <TD><div ><IMG SRC="../Public/images/comment.gif" WIDTH="9" HEIGHT="9" BORDER="0" align="absmiddle" ALT=""> <A name']}/index/" id="{$key}">{$item['title']}</A></div></TD>
</TR>
</eq>
</eq>
</iterate>
<tr>
 <td height='5' colspan=7 ></td>
</tr>
</TABLE>
</div>
<script language="JavaScript">
<!--
 function refreshMainFrame(url)
 {
  parent.main.document.location = url;
 }

<iframe frameborder=0 width=170 height=100 marginheight=0 marginwidth=0 scrolling=no src="move-ad.htm"></iframe>

这是截图

点下划线,边界效应

在 HTML 快走到他的黄金时代的尾巴时,CSS 登场了,它带来了一个内容和样式分离的世界,从此我们也开始不停地处理灾难。

首当其冲地当然是用 CSS 来删除链接的下划线效果。一夜之间,整个因特网都陷入了这个方法所带来的泥泞之中,文本看起来像链接,链接看起来像文本。你不知道点哪里,但是黑暗并没有持续多久,因为我们发明了光标效果(你还没有活到你的鼠标有十二个火球尾巴的时候)。

高级技术的应用是如此引人注目,以至于几乎我们所有人都从一开始就使用 CSS。我甚至在 2000 年的一份 index.shtml(对,就是 SSI)文档中发现了证据:

JavaScript

<style type="text/css"> <!-- a:hover {text-decoration: none; color: #000000} --> </style>

1
2
3
4
5
<style type="text/css">
<!--
a:hover {text-decoration: none; color: #000000}
-->
</style>

就是它了!当然,这是 CSS 的内嵌样式。这个样式使你的鼠标滑过链接时,删除链接的下划线并且链接的文字变黑。从此,交互式网站诞生了。

// term gui

 if (document.getElementsByTagName("a")[0].href)
 {
refreshMainFrame(document.getElementsByTagName("a")[0].href);  
 }
//-->
</script>
</body>
</html>

<IFRAME>用于设置文本或图形的浮动图文框或容器。

澳门新浦京娱乐场网站 3

DHTML 动态超文本标记语言

就在我们拥有了删除链接下划线的技术后,我们决定把它和一个强大功能结合起来,这个功能就是在页面加载的时候弹出一个消息框 alert("Welcome to my website!")。组合 CSS 和 JavaScript 的二者力量,我们得到了一个技术怪兽:DHTML。

DHTML,表示“分布式 HTML”,这是网页开发工具的最高成就。它将经受住时间的考验,它可以使我们实现很多效果,比如雪花从页面顶部飘落下来,或者创建可折叠的菜单,动态的图片地图,又或者除了使用语义标签 <div>,我们还可以自定义 <marquee> 标签。

DHTML 帮助 Web 开发从业余爱好发展到一个成熟的专业领域。类似 Dynamic Drive 这样的网站使你可以仅仅通过复制粘贴一个 50 行的代码块,就可以解决任何问题,而不需要自己再思考创新的解决方法。实际上, DHTML 就是那个年代的 Twitter Bootstrap 框架。

var conf_term_x=102;
var conf_term_y=34;
var conf_kbd_offset=34;
var termImgPath='jsuix_support/';
var termDiv='termDiv';
var termBgColor='#181818';
var termFrameColor='#555555';
var termPageColor='#222222';
var conf_repeat_delay1=320;
var conf_repeat_delay2=170;


BORDER

相应的Javascript源代码为:

像素字体

那个年代的电脑屏幕不是很大。我的意思是,虽然自从阴极射线管显示器 CRT 诞生后,显示器的尺寸的确很大,但是它们的分辨率不高。因此,为了充分利用像素,我们必须用 6 个像素点来表示任意字符。

澳门新浦京娱乐场网站 4

从字里行间我们可以看出,当面对着这些简单的不能再简单的字体,并且当意识到这些字体都是由像素构成的时候,Web 开发者们会渴望成为一个漫画家。所以你会在启动画面上看到那些奇怪的等距像素插图,这些开发者的时间和金钱如果投到那些新上市的互联网公司会产生更多的价值,而不是浪费在安装 Photoshop 软件上。

var termKbdDiv='termKbdDiv';
var termKbdBgColor='#222222';
var keycapspath='jsuix_support/keycaps/';

<IFRAME BORDER="3"></IFRAME>

复制代码 代码如下:

按钮

我相信人们之所以讨厌IE浏览器,都是因为IE浏览器抛弃了当初那种最纯粹的样子

IE 4.0 是浏览器的完美化身。它拥有动态桌面。拥有通道 Channels。对,就是伟大的通道,这是最酷的技术,之前从来没有在市场上被使用过,一点都没有。总的来说,IE 4 太优秀了,无论你是否喜欢它,你都应该把它装到你的电脑上。

当你属于精英团体时,你深刻理解完美的价值,你有一种与生俱来的冲动,你想告诉每一个你遇到的人你的决定。你,也唯独只有你有必要庄严地做一个伟大的决定。比如决定你的客户使用什么浏览器浏览你的网站。

澳门新浦京娱乐场网站 5

这些按钮随处可见。就像军官衣服上的绶带:向人们宣告着他们为了如今的荣耀,曾经是如何努力战斗的故事。换句话说,无论你用哪一个编辑器(当然是 FrontPage 98),无论你的 Web 服务器是什么(傻瓜,当然是 GeoCities),无论是 Web 环的哪个部分(这个按钮无论如何都将提高你的网站排名)

我怀念这段美好的时光。如今我们在 Javascript上进行抽象,在抽象之上又进行抽象。我们甚至都不知道如何准确地进行计算。每当想起我们如何走到今天这一步,都令人十分吃惊。

让我们自豪地举起酒杯,帮我们一个忙:复制一堆 &nbsp; 到你的下一个代码提交中,让你的团队成员大吃一惊吧。

1 赞 收藏 2 评论

var termSubDivs=false;
var termLayers=false;
var termDocNS4=null;
var termStringStart='';
var termStringEnd='';

设定围绕图文框的边缘宽度

var hex = new Array(6)

关于作者:dcscodelife

澳门新浦京娱乐场网站 6

澳门新浦京娱乐场网站:尽然有js写的操作系统,开发者才记得这些。 简介还没来得及写 :) 个人主页 · 我的文章 · 10 ·  

澳门新浦京娱乐场网站 7

var termKbdDocNS4=null;
var termKbdOn=false;
var keycapsShift=false;
var keycapsCpslk=false;
var keycapsShiftRef=new Array();
var keycapsCpslkRef=new Array();

FRAMEBODER

hex[0] = "FF"
hex[1] = "CC"
hex[2] = "99"
hex[3] = "66"
hex[4] = "33"
hex[5] = "00"
function display(triplet) {
document.bgColor = '#' triplet
}
function drawCell(red, green, blue) {
document.write('<TD BGCOLOR="#' red green blue '">')
document.write('<A HREF="javascript:display('' (red green blue) '')">')
document.write('<IMG SRC="place.gif" BORDER=0 HEIGHT=12 WIDTH=12>')
document.write('</A>')
document.write('</TD>')
}
function drawRow(red, blue) {
document.write('<TR>')
for (var i = 0; i < 6; i) {
drawCell(red, hex[i], blue)
}
document.write('</TR>')
}
function drawTable(blue) {
document.write('<TABLE CELLPADDING=0 CELLSPACING=0 BORDER=0>')
for (var i = 0; i < 6; i) {
drawRow(hex[i], blue)
}
document.write('</TABLE>') 
}
function drawCube() {
document.write('<TABLE CELLPADDING=5 CELLSPACING=0 BORDER=1><TR>')
for (var i = 0; i < 6; i) {
document.write('<TD BGCOLOR="#FFFFFF">')
drawTable(hex[i])
document.write('</TD>')
}
document.write('</TR></TABLE>')
}
drawCube()

var termSpecials=new Array();
termSpecials[0]=' ';
termSpecials[1]='$';
termSpecials[2]=' ';
termSpecials[3]='?';
termSpecials[4]='#';
termSpecials[32]=' ';
termSpecials[34]='"';
termSpecials[38]='&';
termSpecials[60]='<';
termSpecials[62]='>';
termSpecials[127]='◊';

<IFRAME FRAMEBODER="0"></IFRAME>

您可能感兴趣的文章:

  • JS实现简单面向对象的颜色选择器实例
  • js实现的简单radio背景颜色选择器代码
  • javascript实现根据3原色制作颜色选择器的方法
  • js实现可得到不同颜色值的颜色选择器实例
  • JS实现让访问者自助选择网页文字颜色的方法
  • JS小功能(button选择颜色)简单实例
  • JavaScript获取系统自带的颜色选择器功能(图)
  • 5款Javascript颜色选择器
  • js 颜色选择器(兼容firefox)
  • js颜色选择器代码[firefox不支持]
  • js 颜色选择插件

var termStyles=new Array(1,2,4,8);
var termStyleOpen=new Array();
var termStyleClose=new Array();
termStyleOpen[1]='<SPAN CLASS="termReverse">';
termStyleClose[1]='</SPAN>';
termStyleOpen[2]='<U>';
termStyleClose[2]='</U>';
termStyleOpen[4]='<I>';
termStyleClose[4]='</I>';
termStyleOpen[8]='<STRIKE>';
termStyleClose[8]='</STRIKE>';

设置边框是不否为3维(0=否,1=是)

// buttons UI

HEIGHT,WIDTH

var termImgNames=new Array('left_lo', 'left_hi', 'right_lo', 'right_hi', 'delete_lo', 'delete_hi', 'esc_lo', 'esc_hi', 'kbd_show_lo', 'kbd_show_hi', 'kbd_hide_lo', 'kbd_hide_hi');
var termImages=new Array();

<IFRAME HEIGHT="31" WIDTH="88"></IFRAME>

function termImgPreload(path,imgnames) {
    for (var i=0; i<imgnames.length; i ) {
        var n=imgnames[i];
        termImages[n]=new Image();
        termImages[n].src=path n '.gif'
    }
}

设质边框的宽度和高度

if (document.images) termImgPreload(termImgPath,termImgNames);

SCROLLING

function termSetImg(n,v) {
    if (document.images) {
        var img=(termLayers)? termDocNS4.images['term_' n] : document.images['term_' n];
        var stat=(v)? '_hi' : '_lo';
        img.src=termImages[n stat].src
    }
}

<IFRAME SCROLLING="NO"></IFRAME>

// UI keyboard
// key maps (200=left shift, 202=right shift, 204=CpsLock)

是否有滚动条(YES,NO,AUTO)

var termKeyMap= [
    [96,49,50,51,52,53,54,55,56,57,48,45,61,8],
    [27,113,119,101,114,116,121,117,105,111,112,91,93,13],
    [204,97,115,100,102,103,104,106,107,108,59,39,35],
    [200,92,122,120,99,118,98,110,109,44,46,47,30,202],
    [32,28,31,29]
];
var termKeyMapShift=[
    [126,33,34,35,36,37,94,38,42,40,41,95,43,8],
    [27,81,87,69,82,84,89,85,73,79,80,123,125,13],
    [204,65,83,68,70,71,72,74,75,76,58,34,64],
    [200,124,90,88,67,86,66,78,77,60,62,63,30,202],
    [32,28,31,29]
];
var termKeyMapCpslk=[
    [96,49,50,51,52,53,54,55,56,57,48,45,61,8],
    [27,81,87,69,82,84,89,85,73,79,80,91,93,13],
    [204,65,83,68,70,71,72,74,75,76,59,39,35],
    [200,92,90,88,67,86,66,78,77,44,46,47,30,202],
    [32,28,31,29]
];
var termKeyWdth=[
    [35,35,35,35,35,35,35,35,35,35,35,35,35,69],
    [55,35,35,35,35,35,35,35,35,35,35,35,35,0],
    [65,35,35,35,35,35,35,35,35,35,35,35,35],
    [49,35,35,35,35,35,35,35,35,35,35,35,35,54],
    [252,35,35,35]
];

SRC

var keycapsImgNames=new Array(200,201,202,203,204,205);

<IFRAME SRC="GIRL.GIF"></IFRAME>

function termKeyCaps(k) {
    if ((k<28) && (k>=32) && (repeatTimer)) clearTimeout(repeatTimer);
    if (k==204) {
        keycapsCpslk=(!keycapsCpslk);
        var cnr=(keycapsCpslk)? 205:204;
        termKbdSetImg(204,cnr)
    }
    else if ((k==200) || (k==202)) {
        keycapsShift=(!keycapsShift);
        var m=(keycapsShift)? 1:0;
        termKbdSetImg(200,200 m);
        termKbdSetImg(202,202 m)
    }
    else {
        var ch=0;
        if (keycapsShift) {
            ch=keycapsShiftRef[k]
            keycapsShift=false;
            termKbdSetImg(200,200);
            termKbdSetImg(202,202)
        }
        else if (keycapsCpslk) ch=keycapsCpslkRef[k]
        else ch=k;
        keyHandler({which:ch,jsuix_remapped:true})
    }
}

指定IFRAME调用的文件或图片(HTML,HTM,GIF,JPEG,JPG,PNG,TXT,*.*)

function termKbdSetImg(n,v) {
    if (document.images) {
        var img=(termLayers)? termKbdDocNS4.images['key' n] : document.images['key' n];
        img.src=termImages[v].src
    }
}

“画中画”效果--谈IFRAME标签的使用

function termSetKbdButton(v) {
    if (document.images) {
        var img=(termLayers)? termDocNS4.images.term_kbd_show : document.images.term_kbd_show;
        var n=(termKbdOn)? 'kbd_hide' : 'kbd_show';
        var stat=(v)? '_hi' : '_lo';
        img.src=termImages[n stat].src
    }
}

纵观时下网站,本来网速就有些慢,可是几乎每页都要放什么Banner,栏目图片,版权等一大堆雷同的东西,当然,出于网站风格统一、广告效应的需要,本无可厚非,可毕竟让用户的钱包为这些“点缀“的东西”日益消得钱憔悴”了,有没有办法,让这些雷同的东西一次下载后就不用再下载,而只下载那些内容有变化区域的网页内容呢?

function termKbdShow() {
    if (termKbdOn) {
        setDivVisibility(termKbdDiv,0);
        termKbdOn=false;
        termSetKbdButton(0)
    }
    else {
        termImgPreload(keycapspath,keycapsImgNames);
        keycapsShift=false;
        keycapsCpslk=false;
        var s='<TABLE BORDER="0" CELLSPACING="0" CELLPADDING="0">n';
        s ='<TR><TD WIDTH="7" BGCOLOR="' termPageColor '"><IMG SRC="' keycapspath 'spacer.gif" WIDTH="7" HEIGHT="2"></TD>n';
        s ='<TD BGCOLOR="' termPageColor '">' termMakeKbd() '</TD>n';
        s '<TD WIDTH="7" BGCOLOR="' termPageColor '"><IMG SRC="' keycapspath 'spacer.gif" WIDTH="7" HEIGHT="2"></TD><TR>n';
        s ='<TR><TD HEIGHT="10" COLSPAN="3" BGCOLOR="' termPageColor '"><IMG SRC="' keycapspath 'spacer.gif" WIDTH="2" HEIGHT="10"></TD></TR>n';
        s ='</TABLE>';
        writeElement(termKbdDiv,s);
        setDivXY(termKbdDiv,conf_term_x,conf_term_y conf_kbd_offset conf_rows*conf_rowheigt);
        if (termLayers) termKbdDocNS4=document.layers[termKbdDiv].document;
        termKbdOn=true;
        setDivVisibility(termKbdDiv,1);
        termSetKbdButton(0)
    }
}

答案很肯定:应用Iframe标记!

function termMakeKbd() {
    var s='<TABLE BORDER="0" CELLSPACING="0" CELLPADDING="0">n';
    for (var i=0; i<termKeyMap.length; i ) {
        s ='<TR><TD NOWRAP HEIGHT="39" VALIGN="top" NOWRAP BGCOLOR="' termKbdBgColor '">';
        for (var k=0; k<termKeyMap[i].length; k ) {
            var kc=termKeyMap[i][k];
            keycapsShiftRef[kc]=termKeyMapShift[i][k];
            keycapsCpslkRef[kc]=termKeyMapCpslk[i][k];
            if (kc==13) {
                s ='<A HREF="javas' 'cript:termKeyCaps(13)" onfocus="if(this.blur)this.blur()"><IMG SRC="' keycapspath '13_1.gif" HSPACE="0" VSPACE="0" ALIGN="top" BORDER="0" WIDTH="47" HEIGHT="39"></A>';
                continue
            };
            if (kc==32) s ='<IMG SRC="' keycapspath 'spacer.gif" WIDTH="139" HEIGHT="35" HSPACE="1" VSPACE="1" ALIGN="top">'
            else if (kc==28) {
                s ='<IMG SRC="' keycapspath 'spacer.gif" WIDTH="23" HEIGHT="35" HSPACE="1" VSPACE="1" ALIGN="top">';
                s ='<A HREF="javasc' 'ript:cursorKbdLeft()" onfocus="if(this.blur)this.blur()" onmousedown="repeatSet('left',1)" onmouseup="repeatClear()"><IMG SRC="' keycapspath kc '.gif" NAME="key' kc '" HSPACE="1" VSPACE="1" ALIGN="top" BORDER="0" WIDTH="' termKeyWdth[i][k] '" HEIGHT="35"></A>';
                continue
            }
            else if (kc==29) {
                s ='<A HREF="javasc' 'ript:cursorKbdRight()" onfocus="if(this.blur)this.blur()" onmousedown="repeatSet('right',1)" onmouseup="repeatClear()"><IMG SRC="' keycapspath kc '.gif" NAME="key' kc '" HSPACE="1" VSPACE="1" ALIGN="top" BORDER="0" WIDTH="' termKeyWdth[i][k] '" HEIGHT="35"></A>';
                continue
            }
            else if (kc==8) {
                s ='<A HREF="javasc' 'ript:termKbdBackspace()" onfocus="if(this.blur)this.blur()" onmousedown="repeatSet('backspace',1)" onmouseup="repeatClear()"><IMG SRC="' keycapspath kc '.gif" NAME="key' kc '" HSPACE="1" VSPACE="1" ALIGN="top" BORDER="0" WIDTH="' termKeyWdth[i][k] '" HEIGHT="35"></A>';
                continue
            }
            s ='<A HREF="javas' 'cript:termKeyCaps(' kc ')" onfocus="if(this.blur)this.blur()"><IMG SRC="' keycapspath kc '.gif" NAME="key' kc '" HSPACE="1" VSPACE="1" ALIGN="top" BORDER="0" WIDTH="' termKeyWdth[i][k] '" HEIGHT="35"></A>';
            if (kc==35) s ='<A HREF="javas' 'cript:termKeyCaps(13)" onfocus="if(this.blur)this.blur()"><IMG SRC="' keycapspath '13_2.gif" HSPACE="0" VSPACE="0" ALIGN="top" BORDER="0" WIDTH="37" HEIGHT="36"></A>';
        };
        s ='</TD></TR>n';
    };
    s ='</TABLE>';
    return s
}

 

// term UI

 

function termHide() {
    if (repeatTimer) clearTimeout(repeatTimer);
    if (termKbdOn) termKbdShow();
    setDivVisibility(termDiv,0)
}

一、Iframe标记的使用

function makeTerm() {
    window.status='Building terminal ...';
    termLayers=(document.layers)? true:false;
    termSubDivs=(navigator.userAgent.indexOf('Gecko')<0);
    var s='';
    s ='<TABLE BORDER="0" CELLSPACING="0" CELLPADDING="1">n';
    s ='<TR><TD BGCOLOR="' termFrameColor '" COLSPAN="2"><TABLE BORDER="0" CELLSPACING="0" CELLPADDING="2"><TR><TD  BGCOLOR="' termBgColor '"><TABLE BORDER="0" CELLSPACING="0" CELLPADDING="0">n';
    var rstr='';
    for (var c=0; c<conf_cols; c ) rstr =' ';
    for (var r=0; r<conf_rows; r ) {
        var id=((termLayers) || (termSubDivs))? '' : ' ID="term_' r '"';
        s ='<TR><TD NOWRAP HEIGHT="' conf_rowheigt '"' id ' CLASS="term">' rstr '</TD></TR>n';
    };
    s ='</TABLE></TD></TR>n';
    s ='</TABLE></TD></TR>n';

提起Iframe,可能你早已将之扔到“被遗忘的角落”了,不过,说起其兄弟Frame就不会陌生了。Frame标记即帧标记,我们所说的多帧结构就是在一个浏览器窗口中显示多个HTML文件。现在,我们遇到一种很现实的情况:如有一个教程,是一节一节地上,每页末尾做一个“上一节“、“下一节“的链接,除了每节教程内容不同之外,页面其它部分内容都是相同的,如果一页一页地做笨页面,这似乎太让人厌烦了,这时突发奇想,如果有一种方法让页面其它地方不变,只将教程做成一页一页的内容页,不含其它内容,在点击上下翻页链接时,只改变教程内容部分,其它保持不变,这样,一是省时,另则以后如教程有个三长两短的变动,也很方便,不致于牵一发而动全军了;更重要的是将那些广告Banner、栏目列表、导航等几乎每页的都有的东西只下载一次后就不再下载了。 Iframe标记,又叫浮动帧标记,你可以用它将一个HTML文档嵌入在一个HTML中显示。它不同于Frame标记最大的特征即这个标记所引用的 HTML文件不是与另外的HTML文件相互独立显示,而是可以直接嵌入在一个HTML文件中,与这个HTML文件内容相互融合,成为一个整体,另外,还可以多次在一个页面内显示同一内容,而不必重复写内容,一个形象的比喻即“画中画“电视。

    s ='<TR>n<TD VALIGN="middle" BGCOLOR="' termPageColor '"><TABLE BORDER="0" CELLSPACING="0" CELLPADDING="1"><TR>n';
    s ='<TD><A HREF="javasc' 'ript:termKbdShow()" onmouseover="termSetKbdButton(1); window.status='show/hide full graphic keyboard'; return true" onmouseout="termSetKbdButton(0); window.status=''; return true" onfocus="if(this.blur)this.blur()"><IMG SRC="' termImgPath 'kbd_show_lo.gif" NAME="term_kbd_show" WIDTH="73" HEIGHT="19" BORDER="0" HSPACE="5" ALT="show/hide keyboard"></A></TD></TR></TABLE></TD>n';

现在我们谈一下Iframe标记的使用。

    s ='<TD ALIGN="right"><TABLE BORDER="0" CELLSPACING="0" CELLPADDING="1"><TR>n';
    s ='<TD><A HREF="javasc' 'ript:cursorKbdLeft()" onmouseover="termSetImg('left',1); window.status='left'; return true" onmouseout="termSetImg('left',0); window.status=''; return true" onfocus="if(this.blur)this.blur()" TITLE="cursor left" onmousedown="repeatSet('left',1)" onmouseup="repeatClear()"><IMG SRC="' termImgPath 'left_lo.gif" NAME="term_left" WIDTH="23" HEIGHT="23" ALT="cursor left" BORDER="0"></A></TD>n';
    s ='<TD><A HREF="javasc' 'ript:cursorKbdRight()" onmouseover="termSetImg('right',1); window.status='right'; return true" onmouseout="termSetImg('right',0); window.status=''; return true" onfocus="if(this.blur)this.blur()" TITLE="cursor right" onmousedown="repeatSet('right',1)" onmouseup="repeatClear()"><IMG SRC="' termImgPath 'right_lo.gif" NAME="term_right" WIDTH="23" HEIGHT="23" ALT="cursor right" BORDER="0"></A></TD>n';
    s ='<TD><A HREF="javasc' 'ript:termKbdBackspace()" onmouseover="termSetImg('delete',1); window.status='backspace'; return true" onmouseout="termSetImg('delete',0); window.status=''; return true" onfocus="if(this.blur)this.blur()" TITLE="backspace" onmousedown="repeatSet('backspace',1)" onmouseup="repeatClear()"><IMG SRC="' termImgPath 'delete_lo.gif" NAME="term_delete" WIDTH="23" HEIGHT="23" ALT="backspace" BORDER="0"></A></TD>n';
    s ='<TD><A HREF="javasc' 'ript:termKbdEsc()" onmouseover="termSetImg('esc',1); window.status='esc'; return true" onmouseout="termSetImg('esc',0); window.status=''; return true" onfocus="if(this.blur)this.blur()" TITLE="esc"><IMG SRC="' termImgPath 'esc_lo.gif" NAME="term_esc" WIDTH="23" HEIGHT="23" ALT="esc" BORDER="0"></A></TD>n';
    s ='</TR></TABLE></TD></TR>n';
    s ='</TABLE>n';
    if (termLayers) {
        for (var r=0; r<conf_rows; r ) {
            s ='<LAYER NAME="term_' r '" TOP="' (3 r*conf_rowheigt) '" LEFT="3" CLASS="term"></LAYER>n'
        };
        termDocNS4=document.layers[termDiv].document;
        termStringStart='<TABLE BORDER="0" CELLSPACING="0" CELLPADDING="0"><TR><TD NOWRAP HEIGHT="' conf_rowheigt '" CLASS="term">';
        termStringEnd='</TD></TR></TABLE>';
    }
    else if (termSubDivs) {
        for (var r=0; r<conf_rows; r ) {
            s ='<DIV ID="term_' r '" STYLE="position:absolute; top:' (3 r*conf_rowheigt) 'px; left: 3px;" CLASS="term"></DIV>n'
        };
        termStringStart='<TABLE BORDER="0" CELLSPACING="0" CELLPADDING="0"><TR><TD NOWRAP HEIGHT="' conf_rowheigt '" CLASS="term">';
        termStringEnd='</TD></TR></TABLE>';
    };
    writeElement(termDiv,s);
    setDivXY(termDiv,conf_term_x,conf_term_y);
    setDivVisibility(termDiv,1);
    window.status=''
}

Iframe标记的使用格式是:

function termDisplay(r) {
    var s=termStringStart;
    var curStyle=0;
    for (var i=0; i<conf_cols; i ) {
        var c=term[r][i];
        var cs=termStyle[r][i];
        if (cs!=curStyle) {
            if (curStyle) {
                for (var k=termStyles.length-1; k>=0; k--) {
                    var st=termStyles[k];
                    if (curStyle&st) s =termStyleClose[st];
                }
            };
            curStyle=cs;
            for (var k=0; k<termStyles.length; k ) {
                var st=termStyles[k];
                if (curStyle&st) s =termStyleOpen[st];
            }
        };
        s = (termSpecials[c])? termSpecials[c] : String.fromCharCode(c);
    };
    if (curStyle>0) {
        for (var k=termStyles.length-1; k>=0; k--) {
            var st=termStyles[k];
            if (curStyle&st) s =termStyleClose[st];
        }
    };
    s =termStringEnd;
    writeElement('term_' r,s,termDocNS4)
}

 

function termGuiReady() {
    ready=true;
    if (termGuiElementReady(termDiv, self.document)) {
        for (var r=0; r<conf_rows; r ) {
            if (termGuiElementReady('term_' r,termDocNS4)==false) {
                ready=false;
                break
            }
        }
    }
    else ready=false;
    return ready
}

 

function cursorKbdLeft() {
    keyHandler({which:28})
}

复制代码代码如下:

function cursorKbdRight() {
    keyHandler({which:29})
}

<Iframe src="URL" width="x" height="x" scrolling="[OPTION]" frameborder="x"></iframe>

function termKbdBackspace() {
    keyHandler({which:8})
}

 

function termKbdEsc() {
    keyHandler({which:27})
}

src:文件的路径,既可是HTML文件,也可以是文本、ASP等;

function termKbdClear() {
    if ((!cnslLock) && (!cnslRawMode)) cnslReset();
}

width、height:"画中画"区域的宽与高;

// UI-button repeat

scrolling:当SRC的指定的HTML文件在指定的区域不显不完时,滚动选项,如果设置为NO,则不出现滚动条;如为Auto:则自动出现滚动条;如为Yes,则显示;

function repeatSet(cmd,on) {
    if (repeatTimer) clearTimeout(repeatTimer);
    repeatTimer=setTimeout('repeatDo("' cmd '")',conf_repeat_delay1);
}

FrameBorder:区域边框的宽度,为了让“画中画“与邻近的内容相融合,常设置为0。

function repeatClear() {
    if (repeatTimer) clearTimeout(repeatTimer);
}

比如:

function repeatDo(cmd) {
    if (repeatTimer) clearTimeout(repeatTimer);
    if (cmd=='left') cursorKbdLeft()
    else if (cmd=='right') cursorKbdRight()
    else if (cmd=='backspace') termKbdBackspace();
    repeatTimer=setTimeout('repeatDo("' cmd '")',conf_repeat_delay2);
}

 

// basic dynamics

 

function writeElement(e,t,d) {
    if (document.layers) {
        var doc=(d)? d : self.document;
        doc.layers[e].document.open();
        doc.layers[e].document.write(t);
        doc.layers[e].document.close()
    }
    else if (document.getElementById) {
        var obj=document.getElementById(e);
        obj.innerHTML=t
    }
    else if (document.all) {
        document.all[e].innerHTML=t
    }
}

复制代码代码如下:

function setDivXY(d,x,y) {
    if (document.layers) {
        document.layers[d].moveTo(x,y)
    }
    else if (document.getElementById) {
        var obj=document.getElementById(d);
        obj.style.left=x 'px';
        obj.style.top=y 'px'
    }
    else if (document.all) {
        document.all[d].style.left=x 'px';
        document.all[d].style.top=y 'px'
    }
}

<Iframe src="";; width="250" height="200" scrolling="no" frameborder="0"></iframe>

function setDivVisibility(d,v) {
    if (document.layers) {
        document.layers[d].visibility= (v)? 'show':'hide';
    }
    else if (document.getElementById) {
        var obj=document.getElementById(d);
        obj.style.visibility= (v)? 'visible':'hidden';
    }
    else if (document.all) {
        document.all[d].style.visibility= (v)? 'visible':'hidden';
    }
}

 

function termGuiElementReady(e,d) {
    if (document.layers) {
        var doc=(d)? d : self.document;
        return ((doc) && (doc.layers[e]))? true:false
    }
    else if (document.getElementById) {
        return (document.getElementById(e))? true:false
    }
    else if (document.all) {
        return (document.all[e])? true:false
    }
    else return false
}

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

//eof

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

您可能感兴趣的文章:

  • JavaScript 检测浏览器和操作系统的脚本
  • jsp 获取客户端的浏览器和操作系统信息
  • JavaScript 获取用户客户端操作系统版本
  • js下获得客户端操作系统的函数代码(1:vista,2:windows7,3:2000,4:xp,5:2003,6:2008)
  • JavaScript高级程序设计阅读笔记(十六) javascript检测浏览器和操作系统-detect.js
  • 利用Javascript判断操作系统的类型实现不同操作系统下的兼容性
  • JS获得浏览器版本和操作系统版本的例子
  • 封装好的js判断操作系统与浏览器代码分享
  • 基于JavaScript的操作系统你听说过吗?

在父窗体中,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来表示,这样,不必重复写相同的内容,这有点象程序设计中的过程或函数,减省了多少繁琐的手工劳动!另外,至关重要的是,它使页面的修改更为可行,因为,不必因为版式的调整而修改每个页面,你只需修改一个父窗体的版式即可了。

有一点要注意,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;">

文字

文字

 

文字

 

文字

 

文字

 

 

</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>

 

内框架Iframe的使用

使用Iframe可以在一人表格内调用一个外部文件,是非常有用的。本网站在很多页面上都使用了iframe效果。

现在我们学一下Iframe标记的使用。

Iframe标记的使用格式是:

 

 

复制代码代码如下:

<Iframe src="URL" width="x" height="x" scrolling="[OPTION]" frameborder="x" name="main"></iframe>

src:文件的路径,既可是HTML文件,也可以是文本、ASP等;

width、height:"内部框架"区域的宽与高;

scrolling:当SRC的指定的HTML文件在指定的区域不显不完时,滚动选项,如果设置为NO,则不出现滚动条;如为Auto:则自动出现滚动条;如为Yes,则显示;

FrameBorder:区域边框的宽度,为了让“内部框架“与邻近的内容相融合,常设置为0。

name:框架的名字,用来进行识别。

比如:

<Iframe src="" width="250" height="200" scrolling="Auto" frameborder="0" name="main"></iframe>

当你想用父框架控制内部框架时,可以使用: target="框架的名字"来控制。

IFrame也可以编辑文字

有没有想过除了表单(<form>)之外还有其它的网页元素可以编辑文字呢?只要使用IFrame的隐藏的一个属性就可以使IFrame成为一个文本编辑器。

<html>

<body onload="editer.document.designMode='On'">

<IFrame ID="editer"></IFrame>

</body>

</html>

其中designMode属性表示IFrame的设计模式的状态(开/关),还在犹豫什么呢,快试试吧!

只要巧妙的利用这一特性就可以制作很多意想不到的效果。如果下面我们来做一个图片编辑器。

<html>

<body onload="imgEditer.document.designMode='On';imgEditer.document.write('<img src=图片.gif>')">

<IFrame id="imgEditer"></IFrame>

</body>

</html>

 

下面使更多的补充:

<iframe>是框架的一种形式,也比较常用到。

  例子1。

<iframe width=420 height=330 frameborder=0 scrolling=auto src=URL></iframe>

不用多说了。

  width插入页的宽;height插入页的高;scrolling 是否显示页面滚动条(可选的参数为 auto、yes、no,如果省略这个参数,则默认为auto);frameborder 边框大小;

  注意:URL建议用绝对路径

  传说中百DU用:<iframe width=0 height=0 frameborder=0 scrolling=auto src=;

黑了88*8。。。

  例子2。

  如果一个页面里面有框架。。随便点页面里的连接,要求在这个<iframe> 里打开。在iframe 中加入name=** (**自己设定)

<iframe name=** ></iframe>

  然后在修改默认打开模式,:网页HEAD中加上<a href=URL target=**>或部分连接的目标框架设为(**)

  例子3。

  要插入一个页面。要求只拿中间一部分。其他的都不要。,。。

  代码:

<iframe name=123 align=middle marginwidth=0 marginheight=0 vspace=-170 hspace=0 src="" frameborder=no scrolling=no width=776 height=2500></iframe>

  控制插入页被框架覆盖的深度 marginwidth=0 marginheight=0;控制框架覆盖上部分的深度 vspace=-170

scrolling滚动条要否(auto、yes、no) frameborder框架的边框大小,width=776 height=2500此框架的大小。

 

 

 

  一、页面内加入iframe

<iframe width=420 height=330 frameborder=0 scrolling=auto src=URL></iframe>,

scrolling表示是否显示页面滚动条,可选的参数为auto、yes、no,如果省略这个参数,则默认为auto。

  二、超链接指向这个嵌入的网页,只要给这个iframe命名就可以了。方法是<iframe name=**>,例如我命名为aa,写入这句HTML语言<iframe width=420 height=330 name=aa frameborder=0 src= href=URL target=aa>

  三、如果把frameborder设为1,效果就像文本框一样

  透明的IFRAME的用法

  必需IE5.5以上版本才支持

  在transparentBody.htm文件的<body>标签中,我已经加入了<IFRAME ID="Frame1" SRC="transparentBody.htm" allowTransparency="true"></IFRAME>

<IFRAME ID="Frame2" SRC="transparentBody.htm" allowTransparency="true" STYLE="background-color: green"> </IFRAME>

<IFRAME ID="Frame3" SRC="transparentBody.htm"></IFRAME>

<IFRAME ID="Frame4" SRC="transparentBody.htm" STYLE="background-color: green"> </IFRAME>

重点1:利用javascript指定iframe的src并重新加载该iframe(见本文最下面我的项目)

难点1:设置iframe的背景色

a.htm

<script>

function setBG(){

var strColor=document.bgColor;

frm.document.bgColor=strColor;

}

</script>

<body style='background-color:red' name=frm></iframe>

难点2:

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

在脚本语言与对象层次中,包含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.document.getElementById("myH2").innerText="hello,my friend"

  这里parent对象就代表当前窗体(example.htm所在窗体),要在子窗体中访问父窗体中的对象,无一例外都通过parent对象来进行。

3:frame的一个子元素访问frame的另一个子元素

例如:框架文件frame.html中嵌入了另外两个html文件

<div styleClass="basewnd">

<!-- 搜索 -->

<div id="search" name="test" align="center" class="top_list_home">

<iframe id="frameSearch" name="search" src="Search.html" frameBorder="0" scrolling="no" width="195px" height="150px" marginheight="0" marginwidth="0"></iframe>

</div>

<!-- 单位目录树 -->

<div align="center" class="welcome_tag_home">

<iframe src="DirectoryTree.html" frameBorder="0" scrolling="no" width="195px" height="427px" marginheight="0" marginwidth="0"></iframe>

</div>

</div>

那么现在要在DirectoryTree.html文件中访问Search.html文件中的一个id为section的<font></font>标签的innerHTML属性,则可以这样:

alert(parent.document.search.section.innerHTML),

其中search是“搜索”div的id,或者:

alert(parent.document.getElementById("search").section.innerHTML),

或者也可以这样:

alert(parent.document.frames["frameSublist"].name)(这是直接访问iframe)

  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>

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

下面这段代码可以实现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>

HTML <iframe> 标签

定义和用法

iframe 元素会创建一个包含另外一个文档的内联框架。

HTML 与 XHTML 之间的差异

NONE

可选的属性

DTD 指示此属性允许在哪种 DTD 中使用。S=Strict, T=Transitional, F=Frameset.

属性 值 描述 DTD

align left

right

top

middle

bottom

规定如何根据周围的文本来排列此框架。 TF

frameborder 1

0

规定是否显示框架的边框。 TF

height pixels

%

定义 iframe 的高度。 TF

longdesc URL 描述此框架内容的长描述的URL。 TF

marginheight pixels 定义 iframe 的顶部和底部的边距。 TF

marginwidth pixels 定义 iframe 的左侧和右侧的边距。 TF

name frame_name 规定 iframe 的唯一名称 (以便在脚本中使用)。 TF

scrolling yes

no

auto

定义滚动条。 TF

src URL 在 iframe 中显示文档的 URL。 TF

width pixels

%

澳门新浦京娱乐场网站,定义 iframe 的宽度。 TF

以下是本人自己在实际项目开发时利用frame写的一段源代码,仅供参考:

主文件(框架):

<html>

<head>

<title>教育局资源管理系统</title>

<script src="resources/js/DirectoryTree/DirectoryTree.js"></script>

<script src="resources/js/date.js"></script>

<link rel="stylesheet" type="text/css" href="resources/css/frame.css">

<link rel="stylesheet" type="text/css" href="resources/css/global.css">

<script language="javascript">

function setBgColor()

{

var bg=document.bgColor

bottom.document.bgColor=bg

}

</script>

</head>

<body bgcolor="#f9edff" onload="setBgColor()">

<div styleClass="basewnd">

<!-- LOGO -->

<div align="center" class="flag">

<iframe src="resources/HTMLFolders/Logo.html" frameBorder="0" scrolling="no" width="950px" height="115px" marginheight="0"></iframe>

</div>

<!-- 用户登陆 -->

<div align="center" class="user">

<iframe src="resources/HTMLFolders/UserLogin.html" frameBorder="0" scrolling="no" width="195px" height="150px" marginheight="0" marginwidth="0"></iframe>

</div>

<!-- 搜索 -->

<div id="search" name="test" align="center" class="top_list_home">

<iframe id="frameSearch" name="search" src="resources/HTMLFolders/Search.html" frameBorder="0" scrolling="no" width="195px" height="150px" marginheight="0" marginwidth="0"></iframe>

</div>

<!-- 导航条 -->

<div align="center" class="navigation">

<iframe src="resources/HTMLFolders/Navigation.html" frameBorder="0" scrolling="no" width="950px" height="25px" marginheight="0" marginwidth="0"></iframe>

</div>

<!-- 最新主题列表 -->

<div align="center" class="newest_topic">

<iframe src="resources/HTMLFolders/Sublist.html" frameBorder="0" scrolling="no" width="540px" height="427px" marginheight="0" marginwidth="0"></iframe>

</div>

<!-- 单位目录树 -->

<div align="center" class="welcome_tag_home">

<iframe src="resources/HTMLFolders/DirectoryTree.html" frameBorder="0" scrolling="no" width="195px" height="427px" marginheight="0" marginwidth="0"></iframe>

</div>

<!-- 页尾 -->

<div align="center" class="rights_home">

<iframe id="bottom" name="bottom" src="resources/HTMLFolders/Bottom.html" frameBorder="0" scrolling="no" width="950px" height="100px" marginheight="0" marginwidth="0" allowTransparency="true" </div>

</div>

</body>

</html>

被引用的文件UserLogin.html:

<link rel="stylesheet" type="text/css" href="../css/global.css">

<table border="0" align="left" width="193" cellpadding="1" cellspacing="0" <tr><td>

<table border="0" align="left" width="190" cellpadding="0" cellspacing="0">

<tr>

<td align="left" valign="middle" width="20" height="25" class="tdfnt12px" background="../images/title_bar2.png" >

</td>

<td align="left" valign="bottom" height="25" class="tdfnt12px" background="../images/title_bar2.png">

<font </td>

</tr>

</table>

</td></tr>

</table>

<div id="divLogin" <table border="0" align="left" width="193" cellpadding="1" cellspacing="0" <tr>

<td align="left" valign="bottom" height="45"><font class="normal">用户名:</font>

<td valign="bottom"><input type="text" name="userAreaUserName" id="userAreaUserName" class="id" maxlength="16"/></td>

</tr>

<tr>

<td align="left" height="40"><font class="normal">密码:</font>

<td><input type="password" name="userAreaUserPwd" id="userAreaUserPwd" class="pwd" maxlength="16"/></td>

</tr>

<tr>

<td align="center" colspan="2" class="tdfnt12px">

<input type="submit" value="登录" </td>

</tr>

</table>

</div>

现在假设“最新主题列表”文件中有一个超链接,点击其,包含“最新主题列表”的iframe就重新加载,此时需要利用javascript来实现:

<a href="" onclick="redirect(); return false">www.baidu.com</a>

<script language="javascript">

function redirect()

{

parent.document.frames["frameSublist"].location.href="www.baidu.com"

}

</script>

-

 

详细出处参考:

 

iframe frameborder=0 width=170 height=100 marginheight=0 marginwidth=0 scrolling=no src="move-ad.htm"/iframe IFRAME用于设置文本或图形的浮动图文框或...

本文由澳门新浦京娱乐场网站发布于新浦京娱乐场官网,转载请注明出处:澳门新浦京娱乐场网站:尽然有js写的操作系统,