京東:
1棍苹、jQuery屬性操作方法
val():設置或返回匹配元素的值沸枯。
html():設置或返回匹配的元素集合中的 HTML 內(nèi)容日矫。
jQuery文檔操作
text():設置或返回被選元素的文本內(nèi)容。
2绑榴、fadeIn()逐漸改變被選元素的不透明度哪轿,從隱藏到可見。
fadeOut()逐漸改變被選元素的不透明度翔怎,從可見到隱藏窃诉。
fadeToggle()用于切換所有匹配的元素,并帶有淡入/淡出的過渡動畫效果赤套。
所謂"切換"飘痛,即如果元素當前是可見的,則將其隱藏(淡出)容握;如果元素當前是隱藏的宣脉,則使其顯示(淡入)。
fadeTo()把被選元素逐漸改變至給定的不透明度
3剔氏、ES6規(guī)范
4塑猖、canvas
5、HTML5中的拖放API
1)draggable屬性
如果網(wǎng)頁元素的draggable屬性為true谈跛,這個元素就是可以拖動的萌庆。
<div draggable="true">Draggable Div</div>
在大多數(shù)瀏覽器中,a元素和img元素默認就是可以拖放的币旧,但是為了保險起見践险,最好還是加上draggable屬性。
2)拖放事件
dragstart:網(wǎng)頁元素開始拖動時觸發(fā)吹菱。
drag:被拖動的元素在拖動過程中持續(xù)觸發(fā)巍虫。
dragenter:被拖動的元素進入目標元素時觸發(fā),應在目標元素監(jiān)聽該事件鳍刷。
dragleave:被拖動的元素離開目標元素時觸發(fā)占遥,應在目標元素監(jiān)聽該事件。
dragover:被拖動元素停留在目標元素之中時持續(xù)觸發(fā)输瓜,應在目標元素監(jiān)聽該事件瓦胎。
drop:有其他元素拖放到了本元素中芬萍,拖放落下時觸發(fā),應在目標元素監(jiān)聽該事件搔啊。
dragend:元素被拖動結束時觸發(fā)柬祠,在被拖放的對象上監(jiān)聽該事件。
6负芋、nodejs回調(diào)陷阱的處理方法漫蛔。
采用第三方庫處理異步回調(diào)。
1)Async
2)Q
3)Promise
7旧蛾、React
8莽龟、iframe
1) 是同主域下面,不同子域之間的跨域:
設置相同的document.domian就可以解決锨天。
① 父頁訪問子頁毯盈,可以document.getElementById("myframe").contentWindow.document來訪問iframe頁面的內(nèi)容;如果支持contentDocument也可以直接document.getElementById("myframe").contentDocument訪問子頁面內(nèi)容病袄;
÷Ц场②子頁訪問父頁,可以parent全局屬性
2) 是不同主域跨域陪拘;
前提,www.a.com下a.html纤壁,a.html內(nèi)iframe調(diào)用了www.b.com下的b.html左刽,b.html下iframe調(diào)用了www.a.com下的c.html
b.html是不無法直接訪問a.html的對象,因為涉及到跨域酌媒,但可以訪問parent欠痴,同樣c.html的parent可以訪問b.html。c.html和a.html同域秒咨,是可以訪問a下的對象的喇辽。parent.parent對象!
參考文獻:iframe跨域訪問
補充:parent屬性
在應用有frameset或者iframe的頁面時,parent是父窗口雨席,top是最頂級父窗口(有的窗口中套了好幾層frameset或者iframe)菩咨,self是當前窗口, opener是用open方法打開當前窗口的那個窗口陡厘。
1)window.self
功能:是對當前窗口自身的引用抽米。它和window屬性是等價的。
語法:window.self
注:window糙置、self云茸、window.self是等價的。
2)window.top
功能:返回頂層窗口谤饭,即瀏覽器窗口标捺。
語法:window.top
注:如果窗口本身就是頂層窗口懊纳,top屬性返回的是對自身的引用。
3)window.parent
功能:返回父窗口亡容。
語法:window.parent
注:如果窗口本身是頂層窗口嗤疯,parent屬性返回的是對自身的引用。
在框架網(wǎng)頁中萍倡,一般父窗口就是頂層窗口身弊,但如果框架中還有框架,父窗口和頂層窗口就不一定相同了列敲。
判斷當前窗口是否在一個框架中:
<script type="text/javascript">
var b = window.top!=window.self;
document.write( "當前窗口是否在一個框架中:"+b );
</script>
應當將框架視為窗口中的不同區(qū)域阱佛,框架是瀏覽器窗口中特定的部分。一個瀏覽器窗口可以根據(jù)你的需要分成任意多的框架戴而,一個單個的框架也可以分成其它多個框架凑术,即所謂的嵌套框架。
參考文獻:
js中的window.parent,window.top,window.self
9所意、向html中引入css樣式的方法
1)直接在div中使用css樣式制作div+css網(wǎng)頁
格式:
<div style="font-size:14px;color:#ff0000;">示例專用</div>
2)html中使用style自帶式
格式:
<style type="text/css">
div{
font-size:14px;
color:#ff0000;
}
</style>
3)使用@import引用外部CSS文件
格式:
<style type="text/css">
@import url(wcss.css);
</style>
4)使用link引用外部CSS文件(推薦)
注意:在head放置<link rel="stylesheet" href="wcss.css" type="text/css" />來調(diào)用外部的wcss.css文件來實現(xiàn)html引用css文件
格式:
<head>
<meta http-equiv="Content-Type" content="text/html;charset=">
<title>示例專用</title>
<link rel="stylesheet" href="wcss.css" type="text/css"/>
</head>
補充 :使用link來引用外部的css的優(yōu)勢
1淮逊、有利于SEO,使用此方法引用外部css文件扶踊,將使得html頁面中的源代碼比起直接加入css樣式少很多泄鹏,因為搜索引擎蜘蛛爬行網(wǎng)頁的時候是不爬行css文件的,這樣使得蜘蛛爬行更快秧耗,處理更少备籽,增大了此網(wǎng)頁的權重,有利于排名分井。
2车猬、用戶瀏覽此網(wǎng)頁的時候html源代碼和css文件同時下載,使得網(wǎng)頁加載更快
3尺锚、方便修改網(wǎng)頁的樣式珠闰,只需修改css樣式即可修改網(wǎng)頁的美工樣式。
參考文獻:
引用CSS文件到html網(wǎng)頁里方法
10瘫辩、Ajax適用場景和不適用場景
Ajax適用場景
Ajax的特點在于異步交互伏嗜,動態(tài)更新web頁面,因此它的適用范圍是交互較多伐厌、頻繁讀取數(shù)據(jù)的web應用阅仔。
1)數(shù)據(jù)驗證
使用Ajax技術,可以由XMLHttpRequest對象發(fā)出驗證請求弧械,根據(jù)返回的HTTP響應判斷驗證是否成功八酒,整個過程不需要彈出新窗口,也不需要將整個頁面提交到服務器刃唐,快速而又不加重服務器負擔羞迷。
2)按需取數(shù)據(jù)
3)自動更新頁面
對于數(shù)據(jù)實時變化的web應用中界轩,如熱點新聞,天氣預報等衔瓮,在Ajax出現(xiàn)之前浊猾,用戶為了及時了解最新內(nèi)容,必須不斷刷新頁面热鞍,或頁面本身實現(xiàn)定時刷新的功能葫慎。這可能會發(fā)生兩種情況:
① 某段時間網(wǎng)頁的內(nèi)容沒有發(fā)生任何變化,但用戶并不知道薇宠,仍然不斷刷新頁面偷办;
② 某段時間網(wǎng)頁的內(nèi)容已經(jīng)發(fā)生任何變化,但用戶失去了耐心澄港,放棄了刷新頁面椒涯,得不到最新的數(shù)據(jù)。
使用Ajax技術回梧,可以通過Ajax引擎在后臺進行定時輪詢废岂,向服務器發(fā)送請求,查看是否有最新數(shù)據(jù),若有則將最新數(shù)據(jù)(不是所有數(shù)據(jù))下載并在頁面上進行動態(tài)更新,通過JavaScript等方式通知用戶。這樣既避免了用戶不斷手工刷新頁面,也不會因為重復刷新頁面造成資源浪費饰序。
Ajax的不適用場景
- 不能使用后退按鈕來查看歷史搜索
Ajax會破壞瀏覽器后退按鈕的正常行為,在動態(tài)更新頁面的情況下,用戶無法回到前一個頁面狀態(tài),因為瀏覽器僅能記下歷史記錄中的靜態(tài)頁面蚓再,因此用戶無法通過后退按鈕獲得前一次或前幾次的搜索結果滑肉。 - 不適合部分簡單的表單
一個內(nèi)容簡單的表單(如評論表單)包各,或提交訂單,或一次性的很少用到的表單都不應該使用以Ajax驅動的表單提交機制靶庙,極少能從Ajax得到明顯的改善问畅。 - 不適合需要更新大量信息
Ajax可以不用整頁刷新來動態(tài)更新頁面中改變的一小部分,但如果頁面上的大部分內(nèi)容都需要更新六荒,完全可以從服務器那里獲得一個新頁面护姆。
參考文獻:
Ajax應用場景-Ajax適合的應用場合
淺談Ajax的適用場景和不適用場景
11、提高COOKIE的安全性
1)對保存到cookie里面的敏感信息必須加密掏击。
2)設置HttpOnly屬性為true
作用:該屬性值的作用就是防止Cookie值被頁面腳本讀取卵皂。防止XSS攻擊,竊取cookie內(nèi)容。
存在問題:設置HttpOnly屬性只是增加了攻擊者的難度砚亭,Cookie盜竊的威脅并沒有徹底消除灯变,因為cookie還是有可能在傳遞的過程中被監(jiān)聽捕獲后信息泄漏殴玛。
3)設置Secure為true
作用:給Cookie設置該屬性時,只有在https協(xié)議下訪問的時候添祸,瀏覽器才會發(fā)送該Cookie滚粟。
存在問題:把cookie設置為secure,只保證cookie與WEB服務器之間的數(shù)據(jù)傳輸過程加密刃泌,而保存在本地的cookie文件并不加密凡壤。如果想讓本地cookie也加密,得自己加密數(shù)據(jù)耙替。
4)給Cookies加個時間戳和IP戳
作用:設定Cookies在同個IP下多少時間內(nèi)失效
參考文獻:
提高cookie的安全性
提高cookie的安全性的幾種方法
12亚侠、HTML5新增標簽
video:表示一段視頻并提供播放的用戶界面
audio:表示音頻
canvas:表示位圖區(qū)域
source:為video和audio提供數(shù)據(jù)源
track:為video和audio指定字母
svg:定義矢量圖
code:代碼段
figure:和文檔有關的圖例。
figcaption:圖例的說明
main:
time:時間和日期
mark:高亮的引用文字
datalist:提供給其他控件的預定義選項
keygen:密鑰對生成器控件
output:計算值
progress:進度條
menu:菜單
embed:嵌入的外部資源
menuitem:用戶可點擊的菜單項
menu:菜單
template:
section:
nav:
aside
footer
header
13林艘、CSS3新增屬性
CSS3被劃分為模塊盖奈,最重要的幾個模塊包括:選擇器、框模型狐援、背景和邊框钢坦、文本效果、2D/3D轉換啥酱、動畫爹凹、多列布局、用戶界面
1)選擇器
2)框模型
3)背景和邊框
border-radius
box-shadow
border-image
background-size:規(guī)定背景圖片尺寸
background-origin:規(guī)定背景圖片的定位區(qū)域
background-clip:規(guī)定背景的繪制區(qū)域
4)文本效果(常用)
text-shadow:設置文字陰影
word-wrap:強制換行
word-break:
CSS3提出@font-face規(guī)則镶殷,規(guī)則中定義了
font-family
font-weight
font-style
font-stretch
src
unicode-range
5)2D/3D轉換
transform:向元素應用2D/3D轉換
transition:過渡
6)動畫
@keyframes規(guī)則:
animation
animation-name
animation-duration等
7)用戶界面(常用)
box-sizing
resize
CSS3新增偽類
:nth-child()
:nth-last-child()
:only-child
:last-child
:nth-of-type()
:only-of-type()
:empty
:target 這個偽類允許我們選擇基于URL的元素禾酱,如果這個元素有一個識別器(比如跟著一個#),那么:target會對使用這個ID識別器的元素增加樣式
:enabled
:disabled
:checked
:not
參考文獻:
h5新增標簽及css3新增屬性
14绘趋、事件句柄(Event Handlers)
onchange:域的內(nèi)容被改變
onblur:元素失去焦點
onreset:重置按鈕被點擊
onload:一張頁面或一幅圖像加載完成颤陶。