在考慮開發聊天機器人嗎? 在本教程中,我們將引導你完成使用 Embedchain 框架構建 ChatBot 的步驟。 Embedchain 庫提供了用于開發可針對不同領域進行定制的聊天機器人的適應性基礎設施。 在本課程中,我們將集中精力開發Audi聊天機器人。 我們將詳細介紹安裝 Embedchain 庫、設置 OpenAI API 密鑰、構建聊天機器人實例、為其提供訓練資源,以及向聊天機器人詢問問題以獲得答案。
NSDT工具推薦: Three.js AI紋理開發包 - YOLO合成數據生成器 - GLTF/GLB在線編輯 - 3D模型格式在線轉換 - 可編程3D場景編輯器 - REVIT導出3D模型插件 - 3D模型語義搜索引擎
首先,我們需要安裝 Embedchain 庫,它提供了創建 ChatBot 所需的工具。 在 Jupyter Notebook 中打開代碼單元并運行以下命令來安裝庫:
!pip install -q embedchain
接下來,我們需要設置 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 密鑰的實際值。
在此步驟中,我們從 Embedchain 庫導入必要的模塊,并選擇我們要創建的 ChatBot 類型。 Embedchain 中提供三種類型的 ChatBot:App(使用 OpenAI 模型,付費)、OpenSourceApp(使用開源模型,免費)和 PersonApp(使用 OpenAI 模型,付費)。
現在,讓我們使用 Embedchain 庫中的 App 類創建 ChatBot 的實例:
Audi_ChatBot=App()
為了使我們的聊天機器人知識淵博并能夠回答問題,我們需要使用相關資源對其進行培訓。 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 的培訓資源中。
現在我們的聊天機器人已經訓練完畢,我們可以通過提出問題并獲得答復來與它進行交互。 讓我們看一個如何查詢 ChatBot 并接收響應的示例:
result=Audi_ChatBot.query("What can adaptive cruise control do?")
print(result)
在此示例中,我們向 ChatBot 詢問奧迪車輛自適應巡航控制的功能。 ChatBot 將分析查詢并根據其訓練過的嵌入式資源提供響應。
完整代碼如下:
# 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就可以繪制出一塊矩形區域,也決定(量化)了當前HTML標簽渲染后在屏幕上占據的有效矩形面積。
值說明100px像素(絕對)單位,矩形寬度為100px50%百分比(相對)單位,矩形寬度為包含塊定義width的50%50vw(相對)單位,矩形寬度為視口寬度的50%,CSS3規范50vh(相對)單位,矩形寬度為視口高度的50%,CSS3規范auto默認值,為內容(與子元素)撐開的寬度,塊級元素寬度默認為100%inherit繼承父元素對應值initial初始值,在MDN文檔中可查,不同的CSS屬性的初始值不同unset繼承父級相應屬性值,父級沒有對應屬性則取默認初始值
height屬性規則與width相同。另外max-height、min-height優先級大于height,同理max-width和min-width優先級大于width。
我們有時會在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類的父級(包含塊)是body,body在未設置值的時,height值為auto,body的實際計算高度為內容撐開的高度,即為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文檔流,背景色默認為白色,如果文檔中的html、body標簽設置了背景色,這兩個標簽的背景色實際設置的是瀏覽器視口的背景色。
盒模型可以看作四個“同心矩形”組合而成,如下圖
對于這三個屬性的表現其實并無特別可說明,見上圖可知意。
元素分為行級元素和塊級元素,行級元素的margin和padding的上下值無效。
自己之前一直有個誤區,認為padding、margin的百分比單位的計算基數是當前元素矩形區域寬高來算,但是根據包含塊的規則,他們的計算基數應該是包含塊的width值。
之前團隊里大佬洪巖問:“如何實現一個高度是自適應寬度3倍的圖片?”
實現方法1: 利用Chrome瀏覽器最新支持的aspect-ratio屬性,其問題就是C端瀏覽器兼容性不好
.box {
aspect-ratio: 1/3; // width/height 寬高比
}
aspect-ratio效果
實現方法2: 巧用包含塊規則(padding和width屬性百分比值的計算基數是包含塊的寬度)+背景圖實現
利用包含塊規則實現
代碼和演示:https://codepen.io/DYBOY/pen/JjbZgeE
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
發現第二個形狀是一個橢圓,其原因是百分比的計算是把所在元素矩形區域的寬和高作為計算基數,而所在矩形的框高的計算值需要加上padding和border的寬度,所以變成了一個橢圓。那么,是不是把盒模型設置為IE盒模型就可以避免這個問題了?答案是的,如上代碼的第四個圓形。
利用邊框的橢圓,可以制造平滑的不規則形狀,例如模仿一個水滴:
運動的水珠
**知識點:**如果沒有設置border-color,默認邊框顏色為所在元素的文本顏色。
BFC是盒模型中在屏幕上渲染展示的矩形區域,決定了浮動、盒模型渲染交互的區域。
margin區域折疊是一個BFC(塊級格式化上下文)的問題,兩個div屬于同一個BFC。父子元素margin-top塌陷,兄弟元素margin重合取較大值。
若想要避免,則需要讓兩個相鄰設置了margin的元素都變成一個BFC。
創建BFC的常見CSS屬性值?
關于BFC更詳細的解讀可以參閱:
父級margin,子級的margin-top無效
高度塌陷
代碼&演示:https://codepen.io/DYBOY/pen/poNxjOP
解決方案:
原因是父子組件的margin-top取最大值,上面例子中父子組件的包含塊都是body,屬于同一個BFC(html標簽)內的子元素,因此需要將父/子元素變成BFC(根據如上的創建BFC的CSS值設置),那么子元素的margin就會依賴父元素的左上角作為基準點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,并設置對應值。
包含塊內容可參閱文章《字節前端都知道的CSS包含塊規則》
盒子模型包含四部分:外邊距(margin area)、邊框(border area)、內邊距(padding area)、內容區(content area),其分布組合如下圖所示。
盒子模型
盒模型有兩種,IE盒模型(border-box)和標準盒模型(content-box),其常用語法如下
// 默認為標準盒模型
box-sizing:border-box | content-box
不同的盒模型影響HTML標簽在瀏覽器上實際渲染的屏幕像素面積,該屬性規定了border和padding屬性值是否占用width和height規定的內容區。
例如寬度width屬性的值計算規則如下:
一言以蔽之,content-box的寬高是規定內容區寬高,border-box的寬高規定了content+border+padding三者和的寬高
CSS盒模型
關于定位,必要明確的就是定位的基準點是哪兒?
值說明static默認值,文檔流正常位置,top、left、right、bottom、z-index無效relative相對定位,相對文檔流原正常位置左上角偏移,不影響其他元素absolute絕對定位,脫離正常文檔流,相對position!=static的父元素(包含塊)左上角偏移fixed固定定位,脫離正常文檔流,相對視口左上角偏移sticky粘性定位,相對文檔流的包含塊、滾動祖先元素左上角偏移,不影響其他元素
line-height帶有單位時,計算行高的結果為line-height高度,line-height規定的是行高最小的的高度
line-height是相對單位時,line-height具有繼承性,其子元素如果沒有設置line-height,那么子元素的行高為父元素計算所得的行高值。
line-height值為純數字時,當前行高會根據當前文本的 font-size*line-height 計算所得。
.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不必緊鄰
: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》,從原理層解讀,研讀完非常受用。
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">
文末再提兩點建議吧:
剛學前端JavaScript的時候,一定不要追求速成,編程不比其他傳統行業,可以快速的上手,他需要一定的代碼量積累起來,不然你追求速成很可能會車毀人亡。
這個文章到這里就說完了,想要前端學習資料的進我的群自助領取,已經上傳到群文件里了:574462090,歡迎初學和進階中的小伙伴。
*請認真填寫需求信息,我們會在24小時內與您取得聯系。