整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

Embedchain开发入门开源RAG框架

Embedchain开发入门开源RAG框架

在考虑开发聊天机器人吗? 在本教程中,我们将引导你完成使用 Embedchain 框架构建 ChatBot 的步骤。 Embedchain 库提供了用于开发可针对不同领域进行定制的聊天机器人的适应性基础设施。 在本课程中,我们将集中精力开发Audi聊天机器人。 我们将详细介绍安装 Embedchain 库、设置 OpenAI API 密钥、构建聊天机器人实例、为其提供训练资源,以及向聊天机器人询问问题以获得答案。

NSDT工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器 - REVIT导出3D模型插件 - 3D模型语义搜索引擎

1、安装 Embedchain 库

首先,我们需要安装 Embedchain 库,它提供了创建 ChatBot 所需的工具。 在 Jupyter Notebook 中打开代码单元并运行以下命令来安装库:

!pip install -q embedchain

2、设置OpenAI API密钥

接下来,我们需要设置 OpenAI API 密钥。 借助 API 密钥,我们可以访问 OpenAI 提供的强大语言模型。 我们可以从不同的模块导入 API 密钥,或者显式地将其分配为环境变量来设置 API 密钥。 以下是如何使用导入的模块设置 API 密钥的说明:

import os
import key

os.environ['OPENAI_API_KEY']=key.OPENAI_API_KEY

确保将 key.OPENAI_API_KEY 替换为你的 OpenAI API 密钥的实际值。

3、导入所需模块并选择 ChatBot 类型

在此步骤中,我们从 Embedchain 库导入必要的模块,并选择我们要创建的 ChatBot 类型。 Embedchain 中提供三种类型的 ChatBot:App(使用 OpenAI 模型,付费)、OpenSourceApp(使用开源模型,免费)和 PersonApp(使用 OpenAI 模型,付费)。

现在,让我们使用 Embedchain 库中的 App 类创建 ChatBot 的实例:

Audi_ChatBot=App()

4、训练聊天机器人

为了使我们的聊天机器人知识渊博并能够回答问题,我们需要使用相关资源对其进行培训。 Embedchain 库允许我们嵌入在线和本地资源。 以下是如何嵌入在线资源的示例:

Audi_ChatBot.add("youtube_video", "https://www.youtube.com/watch?v=LmjdUjvJL1E")
Audi_ChatBot.add("web_page", "https://www.audiusa.com/us/web/en/models/a3/a3/2023/overview.html")

在本例中,我们嵌入了与 Audi A3 相关的 YouTube 视频和网页 URL。 这将为聊天机器人提供响应用户查询的信息。

我们还可以嵌入本地资源,例如 PDF 文件。 这是一个例子:

Audi_ChatBot.add_local("pdf_file", "/content/data/2020-audi-a3-24.pdf")

这会将本地 PDF 文件添加到 ChatBot 的培训资源中。

5、查询聊天机器人

现在我们的聊天机器人已经训练完毕,我们可以通过提出问题并获得答复来与它进行交互。 让我们看一个如何查询 ChatBot 并接收响应的示例:

result=Audi_ChatBot.query("What can adaptive cruise control do?")
print(result)

在此示例中,我们向 ChatBot 询问奥迪车辆自适应巡航控制的功能。 ChatBot 将分析查询并根据其训练过的嵌入式资源提供响应。

6、完整代码

完整代码如下:

# Step 1: Install the Embedchain library
!pip install -q embedchain

# Step 2: Set the OpenAI API Key
import os
import key

os.environ['OPENAI_API_KEY']=key.OPENAI_API_KEY

# Step 3: Import the necessary modules
from embedchain import App

# Step 4: Create a ChatBot instance
Audi_ChatBot=App()

# Step 5: Train the ChatBot with resources
Audi_ChatBot.add("youtube_video", "https://www.youtube.com/watch?v=LmjdUjvJL1E")
Audi_ChatBot.add("web_page", "https://www.audiusa.com/us/web/en/models/a3/a3/2023/overview.html")
Audi_ChatBot.add_local("pdf_file", "/content/data/2020-audi-a3-24.pdf")

# Step 6: Query the ChatBot
result=Audi_ChatBot.query("What can adaptive cruise control do?")
print(result)

原文链接:Embedchain开发入门 - BimAnt

多入门学前端的同学,或是准备面试的同学都会去死记硬背一些前端知识点,笔者也是这么经历过来的,但却不推荐这种囫囵吞枣、不求甚解的学习方式,因为这样会走很多弯路,属于“应试”学习,我们更应该的是从基础到复杂,从表象到原理的角度却思考学习,才能熟练掌握技能。

整理了一些在CSS(层叠样式表)中的知识点,或许你曾看过一些什么“万字总结”、“面试必看”,但还是希望更多同学能够沉下心来学习,不仅仅满足于停留在“API工程师”的层面,多从CSS约定的规则去解释现象。

一、width(宽)& height(高)

浏览器中,明确了widthheight就可以绘制出一块矩形区域,也决定(量化)了当前HTML标签渲染后在屏幕上占据的有效矩形面积。

1.1 width与height的值

值说明100px像素(绝对)单位,矩形宽度为100px50%百分比(相对)单位,矩形宽度为包含块定义width的50%50vw(相对)单位,矩形宽度为视口宽度的50%,CSS3规范50vh(相对)单位,矩形宽度为视口高度的50%,CSS3规范auto默认值,为内容(与子元素)撑开的宽度,块级元素宽度默认为100%inherit继承父元素对应值initial初始值,在MDN文档中可查,不同的CSS属性的初始值不同unset继承父级相应属性值,父级没有对应属性则取默认初始值

height属性规则与width相同。另外max-heightmin-height优先级大于height,同理max-widthmin-width优先级大于width

1.2 height:100%无效

我们有时会在CSS里写height: 100%,发现并无效果,如下:

<div class="block"></div>
* {
  padding: 0;
  margin: 0;
  border: 0;
}
body {
  background-color: green;
/*   height: 100%; */
  border: 5px solid greenyellow;
}
.block {
  width: 100%;
  height: 100%;
  background-color: red;
}

block类 div的高度并未按照我们预想那样撑满全屏高度

高度100%并未铺满屏幕

代码&效果:https://codepen.io/DYBOY/embed/RwoJKRP

block类的父级(包含块)是bodybody在未设置值的时,height值为autobody的实际计算高度为内容撑开的高度,即为0(可以将上述代码的border样式取消注释,可看到body的高度)

那么子元素block类的高度即等同于0

body {
    background-color: azure;
    height: auto;
}
.block {
    width: 100%;
    height: 0 * 100%; // 0
    background-color: red;
}

所以此时block类所在的div盒子的高度无效,height为0,即在浏览器上无渲染高度 浏览器的渲染规则可理解记忆为:深度优先遍历计算

子元素的相对单位的计算值都是基于父/祖先元素对应的属性值,auto是基于内容区域撑开计算所得。

浏览器渲染HTML文档流,背景色默认为白色,如果文档中的htmlbody标签设置了背景色,这两个标签的背景色实际设置的是浏览器视口的背景色。

二、padding(内边距)& border(边框)& magin(外边距)

盒模型可以看作四个“同心矩形”组合而成,如下图

对于这三个属性的表现其实并无特别可说明,见上图可知意。

元素分为行级元素块级元素,行级元素的marginpadding的上下值无效。

2.1 百分比单位计算

自己之前一直有个误区,认为paddingmargin的百分比单位的计算基数是当前元素矩形区域宽高来算,但是根据包含块的规则,他们的计算基数应该是包含块的width值。

之前团队里大佬洪岩问:“如何实现一个高度是自适应宽度3倍的图片?”

实现方法1: 利用Chrome浏览器最新支持的aspect-ratio属性,其问题就是C端浏览器兼容性不好

.box {
    aspect-ratio: 1/3; // width/height 宽高比
}

aspect-ratio效果

实现方法2: 巧用包含块规则(paddingwidth属性百分比值的计算基数是包含块的宽度)+背景图实现

利用包含块规则实现

代码和演示:https://codepen.io/DYBOY/pen/JjbZgeE

2.2 border-radius百分比和像素

border-radius属性用于描述边框圆角半径,根据资料如果是百分比单位,则根据所在**盒子模型的矩形宽和高(包含border和padding)**作为计算基数,border-radius的值描述的是边框角度所在椭圆的半长轴和半短长轴长度。

border-*-radius属性的两个长度或百分比值定义了四分之一椭圆的半径,该半径定义了外边界边角的形状(参见下图)。第一个值为水平半径第二个为垂直半径。如果省略第二个值,则从第一个复制。如果任一长度为零,则角为正方形,而不是圆角。

水平半径的百分比是指边框的宽度,而垂直半径的百分比是指边框的高度。

来看下面这个示例:

<div class="box">1</div>
<div class="box style1">2</div>
<div class="box style2">3</div>
<div class="box style3">4</div>
* {
    padding: 0;
    margin: 0;
}
body {
    background-color: #fff;
}
.box {
    position: relative;
    width: 200px;
    height: 200px;
    margin: 10px auto;
    background-color: #00abef;
    border-radius: 100px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 32px;
    color: #fff;
}
.style1 {
    padding: 20px;
}
.style2 {
    padding: 20px;
    border-radius: 50%;
}
.style3 {
    padding: 20px;
    border-width: 10px;
    box-sizing: border-box;
}

效果

代码&演示:https://codepen.io/DYBOY/pen/BaQPaaj

发现第二个形状是一个椭圆,其原因是百分比的计算是把所在元素矩形区域的宽和高作为计算基数,而所在矩形的框高的计算值需要加上paddingborder的宽度,所以变成了一个椭圆。那么,是不是把盒模型设置为IE盒模型就可以避免这个问题了?答案是的,如上代码的第四个圆形。

  • 参考详细资料:https://www.w3.org/TR/2010/WD-css3-background-20100612/#the-border-radius

利用边框的椭圆,可以制造平滑的不规则形状,例如模仿一个水滴:

运动的水珠

**知识点:**如果没有设置border-color,默认边框颜色为所在元素的文本颜色。

2.3 BFC与margin折叠

BFC是盒模型中在屏幕上渲染展示的矩形区域,决定了浮动、盒模型渲染交互的区域。

margin区域折叠是一个BFC(块级格式化上下文)的问题,两个div属于同一个BFC。父子元素margin-top塌陷,兄弟元素margin重合取较大值。

若想要避免,则需要让两个相邻设置了margin的元素都变成一个BFC

创建BFC的常见CSS属性值?

  1. 浮动元素,float:left/right/auto
  2. 定位,position:absolute/fixed
  3. 展示,display:inline-block/table相关/flow-root/flex/grid
  4. flex/grid 的直接子元素为BFC
  5. table 相关的比如 tabletable-celltable-caption
  6. flow-root最好,无副作用
  7. 溢出,显示指明overflow:hidden/auto
  8. overflow的css计算值不为visiable,也就是指明溢出盒模型交互区域的处理方式
  9. html根元素是一个BFC

关于BFC更详细的解读可以参阅:

  • 《可能是最好的BFC解析了...》- https://juejin.cn/post/6960866014384881671

2.3.1 实例&解决方案

2.3.1.1 父子高度塌

父级margin,子级的margin-top无效

高度塌陷

代码&演示:https://codepen.io/DYBOY/pen/poNxjOP

解决方案:

原因是父子组件的margin-top取最大值,上面例子中父子组件的包含块都是body,属于同一个BFC(html标签)内的子元素,因此需要将父/子元素变成BFC(根据如上的创建BFC的CSS值设置),那么子元素的margin就会依赖父元素的左上角作为基准点margin偏移。

2.3.1.2 兄弟元素margin取较大值

<style>
.box {
    margin: 20px auto;
    background-color: red;
    width: 200px;
    height: 200px;
}
</style>

<div class="box"></div>
<div class="box"></div>
<div class="box"></div>

上下相邻元素的外边距为20px重合了

解决方案:

想要每两个盒子的上下边距为20px*2,则就需要如下处理:

<style>
.box-parent {
    overflow: hidden;
    /* display: flow-root; */
}
.box {
    margin: 20px auto;
    background-color: red;
    width: 200px;
    height: 200px;
}
</style>

<div class="box-parent">
    <div class="box"></div>
</div>
<div class="box-parent">
    <div class="box"></div>
</div>
<div class="box-parent">
    <div class="box"></div>
</div>

推荐解决方案:

由于改变了DOM结构,所以不是最好的解决方法,更好的方法就是利用塌陷规则,增加margin-bottom/margin-top的值,直接计算得到两块元素之间的margin,并设置对应值。

三、Containing Block(包含块)

包含块内容可参阅文章《字节前端都知道的CSS包含块规则》

四、box-sizing(盒模型)

盒子模型包含四部分:外边距(margin area)、边框(border area)、内边距(padding area)、内容区(content area),其分布组合如下图所示。

盒子模型

盒模型有两种,IE盒模型border-box)和标准盒模型content-box),其常用语法如下

// 默认为标准盒模型
box-sizing:border-box | content-box

不同的盒模型影响HTML标签在浏览器上实际渲染的屏幕像素面积,该属性规定了borderpadding属性值是否占用widthheight规定的内容区。

例如宽度width属性的值计算规则如下:

  • content-boxwidth=content width
  • border-boxwidth=content width + padding width + margin width

一言以蔽之,content-box的宽高是规定内容区宽高,border-box的宽高规定了content+border+padding三者和的宽高

CSS盒模型

五、position(定位)

关于定位,必要明确的就是定位的基准点是哪儿?

值说明static默认值,文档流正常位置,top、left、right、bottom、z-index无效relative相对定位,相对文档流原正常位置左上角偏移,不影响其他元素absolute绝对定位,脱离正常文档流,相对position!=static的父元素(包含块)左上角偏移fixed固定定位,脱离正常文档流,相对视口左上角偏移sticky粘性定位,相对文档流的包含块、滚动祖先元素左上角偏移,不影响其他元素

六、font-size(字号)& line-height(行高)

line-height带有单位时,计算行高的结果为line-height高度,line-height规定的是行高最小的的高度

line-height是相对单位时,line-height具有继承性,其子元素如果没有设置line-height,那么子元素的行高为父元素计算所得的行高值。

line-height值为纯数字时,当前行高会根据当前文本的 font-size*line-height 计算所得。

七、CSS选择器

7.1 通用选择器

.a.b:(无空格)当a和b在同一标签类名中同时出现才选择
.a .b:(有空格)选择a的所有后代b
.a>.b:(>)选择a的子代b
.a, .b:(,)a与b样式相同
.a+.b:(+)选择a紧邻的兄弟b
.a~.b:(~)有共同父元素,选择a后的所有b,ab不必紧邻

7.2 属性选择器:

  • [attr]:表示带有以attr命名的属性的元素。
  • [attr=value]:表示带有以attr命名的属性,且属性值为value的元素。
  • [attr~=value]:表示带有以attr命名的属性的元素,并且该属性是一个以空格作为分隔符的值列表,其中至少有一个值为value。
  • [attr|=value]:表示带有以attr命名的属性的元素,属性值为“value”或是以“value-”为前缀("-"为连字符,Unicode 编码为 U+002D)开头。典型的应用场景是用来匹配语言简写代码(如 zh-CN,zh-TW 可以用 zh 作为 value)。
  • [attr^=value]:表示带有以attr命名的属性,且属性值是以value开头的元素。
  • [attr$=value]:表示带有以attr命名的属性,且属性值是以value结尾的元素。
  • [attr*=value]:表示带有以attr命名的属性,且属性值至少包含一个 value 值的元素。

7.3 伪类选择器

:root :文档根元素

八、文本处理

font-stretch: normal;
font-kerning: normal;
text-rendering: optimizeLegibility;

文本是最基础最重要的功能之一,深入了解文本的渲染布局非常有必要。

关于文本处理相关的CSS,知识点较多且深,因此将在后续文章将详细解读,因为文字处理属于一个需要深入理解的领域,也是一个基础领域,在大部分的场景我们是不需要关心,但是如果涉及到精细化展示、兼容性的问题,就不得不涉及到文本渲染原理相关内容。

九、flex布局

.box {
    display: flex;  /* 还可以设置行内元素的 inline-flex */
    flex-direction: row; /* 主轴水平!:row:列(左至右);row-reverse:列(右至左)   主轴竖直!cloumn:行(上至下);column-reverse:行(下至上) */
    flex-wrap: nowrap; /* 一行放不下的时候:nowrap不换行,wrap换行,wrap-reverse换行第一行在下方  */
    /* flex-flow: row nowrap;  是上面两者的简写形式 */
    justify-content: flex-start;  /* 定义项目在主轴上的对齐方式  flex-start左侧,flex-end右侧,center居中,space-between两端对齐项目间隔相等,space-around项目左右两侧间距相同 */
    align-items: flex-start; /* 定义项目在纵轴上的对齐方式  flex-start上,flex-end下,center居中,baseline项目中第一行文字对齐,stretch默认值高度未设置时候将撑满容器高度 */
}
.item {
    order: 0;   /* 定义项目的排列顺序,数值越小越靠前,默认0 */
    flex-grow: 0;   /* 定义剩于空间的放大比例,默认0不放大,如果多个item均为1,则将等分剩于的空间,不同值按照比例分配剩于空间 */
    flex-shrink: 1; /* 定义项目缩小比例,默认为1,空间不足,均等比例缩小,为0则不缩小 */
    flex-basis: auto; /* 定义项目在分配剩于主轴空间之前的主轴占据的长度,浏览器会根据这个属性去计算是否有剩于的空间 */
    /* flex: auto; 是flex-grow、flex-shrink和flex-basis的简写默认值:0 1 auto */
    align-self: flex-start; /* 设置单个项目与其他项目不一样的对齐方式,可覆盖父容器设置的align-items,默认auto继承父元素的align-items值  auto | flex-start | flex-end | center | baseline | stretch */
}

上述是笔者对flex使用经验的一些精简总结,另外推荐大家阅读《Flexbox布局中不为人知的细节 - Alibaba F2E》,从原理层解读,研读完非常受用。

十、自定义CSS属性

example:

html {
    --theme-color: red;
    --theme-font-size: 16px;
}

.example {
    color: var(--theme-color);
    font-size: var(--theme-font-size);
}

因为是新的属性规则,在低版本设备上可能遇上不兼容情况,因此可以使用查询特性的@supports()

@supports(color: var(--theme-color)) {
    // 支持上面的的处理方式则下面的css将生效
    .class-box {
        color: var(--theme-color);
    }
}

// 对于selector的支持不好
@supports not (color: var(--theme-color)) {
    // 不支持上面的的处理方式则下面的css将生效
    .class-box {
        color: red;
    }
}

兼容性:https://caniuse.com/?search=%40supports

@support文档:https://developer.mozilla.org/zh-CN/docs/Web/CSS/@supports

总结

上述讲到了十个大的CSS知识点,也是工作开发过程中经常会遇到的细节问题,把这些知识点/CSS规则熟记于心,有利于高效率编写前端样式!

Low了,网页居然还用这么老掉牙的特效!弄个粗体字,下划线就是突出重点了?真是一股浓浓的乡村风扑面而来;弄个图在页面飘来飘去就是动画效果了,你要这么认为的话那我只能保持沉默了。在HTML5占领着整个互联网之时,想透过网页抓住所有人的眼球,因循守旧是行不通的。因此,有你不能不知道的HTML常用代码。只有熟悉掌握了常用的HTML代码,你才能在编写网页的时候做到行云流水,用处处流露着细腻和创意的动效细节打动所有人。

在这里还是要说一下我自己建的前端JavaScript学习交流群:574462090,不管你是小白还是大牛,小编我都挺欢迎,小白嘛,多问点问题也就学好了,不定期分享干货,包括最新的2017年前端学习资料,欢迎初学和进阶中的小伙伴。

html代码大全:结构性定义

文件类型<HTML></HTML> (放在档案的开头与结尾)

文件主题<TITLE></TITLE> (必须放在「文头」区块内)

文头<HEAD></HEAD> (描述性资料,像是「主题」)

文体<BODY></BODY> (文件本体)

标题<H?></H?> (从1到6,有六层选择)

标题的对齐 <H?ALIGN=LEFT|CENTER|RIGHT></H?>

区分<DIV></DIV>

区分的对齐 <DIVALIGN=LEFT|RIGHT|CENTER|JUSTIFY></DIV>

引文区块<BLOCKQUOTE></BLOCKQUOTE> (通常会内缩)

强调<EM></EM> (通常会以斜体显示)

特别强调<STRONG></STRONG> (通常会以加粗显示)

引文<CITE></CITE> (通常会以斜体显示)

码<CODE></CODE> (显示原始码之用)

样本<SAMP></SAMP>

键盘输入<KBD></KBD>

变数<VAR></VAR>

定义<DFN></DFN> (有些浏览器不提供)

地址 <ADDRESS></ADDRESS>

大字<BIG></BIG>

小字<SMALL></SMALL>

与外观相关的标签(作者自订的表现方式)

加粗<B></B>

斜体<I></I>

底线<U></U> (尚有些浏览器不提供)

删除线<S></S> (尚有些浏览器不提供)

下标<SUB></SUB>

上标<SUP></SUP>

打字机体<TT></TT> (用单空格字型显示)

预定格式<PRE></PRE> (保留文件中空格的大小)

预定格式的宽度<PRE WIDTH=?></PRE>(以字元计算)

向中看齐<CENTER></CENTER> (文字与图片都可以)

闪耀<BLINK></BLINK> (有史以来最被嘲弄的标签)

字体大小 <FONTSIZE=?></FONT>(从1到7)

改变字体大小 <FONTSIZE=+|-?></FONT>

基本字体大小 <BASEFONTSIZE=?> (从1到7; 内定为3)

字体颜色 <FONTCOLOR="#$$"></FONT>($$为颜色代码)

2

html代码大全:修改页面的实用性HTML代码

1)贴图:<img src="图片地址">

2)加入连接:<a href="所要连接的相关地址">写上你想写的字</a>

3)在新窗口打开连接:<a href="相关地址" target="_blank">写上要写的字</a>

4)移动字体(走马灯):<marquee>写上你想写的字</marquee>

5)字体加粗:<b>写上你想写的字</b>

6)字体斜体:<i>写上你想写的字</i>

7)字体下划线: <u>写上你想写的字</u>

8)字体删除线: <s>写上你想写的字</s>

9)字体加大: <big>写上你想写的字</big>

10)字体控制大小:<h1>写上你想写的字</h1> (其中字体大小可从h1-h5,h1最大,h5最小)

11)更改字体颜色:<font color="#value">写上你想写的字</font>(其中value值在000000与ffffff(16位进制)之间

12)消除连接的下划线:<a href="相关地址" style="text-decoration:none">写上你想写的字</a>

13)贴音乐:<embed src="音乐地址" width="宽度" height="高度" autostart=false>

14)贴flash: <embed src="flash地址" width="宽度" height="高度">

15)贴影视文件:<img dynsrc="文件地址" width="宽度" height="高度" start=mouseover>

16)换行:<br>

17)段落:<p>段落</p>

18)原始文字样式:<pre>正文</pre>

19)换帖子背景:<body background="背景图片地址">

20)固定帖子背景不随滚动条滚动:<body background="背景图片地址" body

bgproperties=fixed>

21)定制帖子背景颜色:<body bgcolor="#value">(value值见10)

22)帖子背景音乐:<bgsound="背景音乐地址" loop=infinite>

23)贴网页:<iframe. src="相关地址" width="宽度" height="高度"></iframe>

3

html代码大全:常常会遇到的问题

点击关闭窗口

<a href="javascript.:top.window.close();">点击关闭窗口</a>!

请问如何去掉主页右面的滚动条?

<body scroll="no">

<body style="overflow-y:hidden">

如何做到让一个网页自动关闭.

<html>

<head>

<OBJECT id=closes type="application/x-oleobject" classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11">

<param name="Command" value="Close">

</object>

</head>

<body >

这个窗口会在10秒过后自动关闭,而且不会出现提示. </body>

如何在不刷新页面的情况下刷新css?

<style>

button{ color:#000000;}

</style>

<button nclick=document.styleSheets[0].rules[0].style.color=‘‘‘‘red‘‘‘‘>点击按钮直接修改style标签里button选择符使按钮改为  红色</button>

请问如何让网页自动刷新?

在head部记入<META. HTTP-EQUIV="Refresh" c>其中20为20秒后自动刷新,你可以更改为任意值。

如何让页面自动刷新?

方法一,用refresh

HTML 代码片段如下:

<head>

<meta. http-equiv="refresh" c>

</head>

5表示刷新时间

[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

方法二,使用setTimeout控制

<img src=/logo.gif>

<script>

function rl(){

document.location.reload()

}

setTimeout(rl,2000)

</SCRIPT>

如何让超链接没有下划线

在源代码中的<HEAD>…</HEAD>之间输入如下代码:

<style. type="text/css"> <!--

a { text-decoration: none}

--> </style>

请问如何去掉IE的上下滚动条?

<body style=‘‘‘‘overflow:scroll;overflow-y:hidden‘‘‘‘>

</body>

怎样才能把RealPlayer文件在网页做一个试听连接?

<embed height=25 src=51js.rm type=audio/x-pn-realaudio-plugin width=50 autostart="false" c>

如何用html实现浏览器上后退按钮的功能?

<a href="java script.:history.go(-1)">点击后退</a>

或者

<script> history.back() </SCRIPT>

4

html代码大全:你不一定知道的技巧

16. ncontextmenu="window.event.returnValue=false" 将彻底屏蔽鼠标右键

  <table borderncontextmenu=return(false)><td>no</table> 可用于Table

17. <body nselectstart="return false"> 取消选取、防止复制

18.onpaste="return false" 不准粘贴

19.oncopy="return false;" ncut="return false;" 防止复制

20. <link rel="Shortcut Icon"href="favicon.ico"> IE地址栏前换成自己的图标

21. <link rel="Bookmark"href="favicon.ico"> 可以在收藏夹中显示出你的图标

22. <inputstyle="ime-mode:disabled"> 关闭输入法

23. 永远都会带着框架

<script. language="JavaScript"><!--

if (window==top)top.location.href="frames.htm"; //frames.htm为框架网页

// --></script>

24. 防止被人frame.

<SCRIPT. LANGUAGE=JAVASCRIPT><!--

if (top.location !=self.location)top.location=self.location;

// --></SCRIPT>

25. 网页将不能被另存为

<noscript><iframe.src=*.html></iframe></noscript>

26. 查看网页源代码

<input type=button value=查看网页源代码

onclick="window.location="view-source:"+"http://www.pconline.com.cn"">

27.删除时确认

<a href="javascript:if(confirm("确实要删除吗?"))location="boos.asp? &areyou=删除&page=1"">删除</a>

28.屏蔽功能键Shift,Alt,Ctrl

<script>

function look(){

if(event.shiftKey)

alert("禁止按Shift键!");//可以换成ALT CTRL

}

document.onkeydown=look;

</script>

29. 网页不会被缓存

<META. HTTP-EQUIV="pragma" CONTENT="no-cache">

<META. HTTP-EQUIV="Cache-Control"CONTENT="no-cache, must-revalidate">

<META. HTTP-EQUIV="expires"CONTENT="Wed, 26 Feb 1997 08:21:57 GMT">

或者<META. HTTP-EQUIV="expires"CONTENT="0">

30.怎样让表单没有凹凸感?

<input type=text style="border:1 solid #000000">

或 <input type=text style="border-left:none;border-right:none; border -top:none; border-bottom: 1 solid#000000"></textarea>

31.不要滚动条?

让竖条没有:

<body style="overflow:scroll;overflow-y:hidden">

</body>

让横条没有:

<body style="overflow:scroll;overflow-x:hidden">

</body>

两个都去掉?更简单了

<body scroll="no">

</body>

32.怎样去掉图片链接点击后,图片周围的虚线?

<a href="#"nFocus="this.blur()"><img src="logo.jpg"border=0></a>

33.电子邮件处理提交表单

<form. name="form1"method="post" action="mailt****@***.com"enctype="text/plain">

<input type=submit>

</form>

34.在打开的子窗口刷新父窗口的代码里如何写?

window.opener.location.reload()

35.如何设定打开页面的大小

<body nload="top.resizeTo(300,200);">

打开页面的位置<bodynload="top.moveBy(300,200);">

36.在页面中如何加入不是满铺的背景图片,拉动页面时背景图不动

<STYLE>

body

{background-image:url(logo.gif); background-repeat:no-repeat;

background-position:center;background-attachment: fixed}

</STYLE>

37. 检查一段字符串是否全由数字组成

<script. language="Javascript"><!--

function checkNum(str){return str.match(//D/)==null}

alert(checkNum("1232142141"))

alert(checkNum("123214214a1"))

// --></script>

38. 获得一个窗口的大小

document.body.clientWidth; document.body.clientHeight

39. 怎么判断是否是字符

if (/[^/x00-/xff]/g.test(s)) alert("含有汉字");

else alert("全是字符");

40.TEXTAREA自适应文字行数的多少

<textarea rows=1 name=s1 cols=27npropertychange="this.style.posHeight=this.scrollHeight">

</textarea>

41. 日期减去天数等于第二个日期

<script. language=Javascript>

function cc(dd,dadd)

{

//可以加上错误处理

var a=new Date(dd)

a=a.valueOf()

a=a - dadd * 24 * 60 * 60 * 1000

a=new Date(a)

alert(a.getFullYear() + "年" + (a.getMonth() +1) + "月" + a.getDate() + "日")

} cc("12/23/2002",2)

</script>

42. 选择了哪一个Radio

<HTML><script. language="vbscript">

function checkme()

for each ob in radio1

if ob.checked then window.alert ob.value

next

end function

</script><BODY>

<INPUT name="radio1" type="radio"value="style" checked>Style.

<INPUT name="radio1" type="radio"value="barcode">Barcode

<INPUT type="button" value="check"nclick="checkme()">

</BODY></HTML>

43.脚本永不出错

<SCRIPT. LANGUAGE="JavaScript">

<!-- Hide function killErrors(){return true;} window.onerror=killErrors;// -->

</SCRIPT>

44.ENTER键可以让光标移到下一个输入框

<input nkeydown="if(event.keyCode==13)event.keyCode=9">

文末再提两点建议吧:

  1. 刚学前端JavaScript的时候,一定不要追求速成,编程不比其他传统行业,可以快速的上手,他需要一定的代码量积累起来,不然你追求速成很可能会车毁人亡。

  2. 这个文章到这里就说完了,想要前端学习资料的进我的群自助领取,已经上传到群文件里了:574462090,欢迎初学和进阶中的小伙伴。

如果想看到更加系统的文章和学习方法经验可以关注我的微信公众号:‘前端根据地’关注后回复‘给我资料’可以领取一套完整的学习视频