Html&&Css
1.Web標(biāo)準(zhǔn)的理解
結(jié)構(gòu)檩小、表現(xiàn)鳄炉、行為分離使頁面易于維護杜耙,頁面響應(yīng)速度快,設(shè)備兼容更好拂盯,容易提高搜索引擎的解析優(yōu)化
2.瀏覽器內(nèi)核差異
是渲染網(wǎng)頁內(nèi)容的泥技,將網(wǎng)頁的代碼轉(zhuǎn)換為看得見的頁面,使用排版所以會導(dǎo)致各個瀏覽器間的排版存在錯誤或誤差(兩方面原因:網(wǎng)站本身編寫不規(guī)范,瀏覽器本身的不規(guī)范)
3.兼容性
-
html對象獲取問題:
FireFox:document.getElementById("idName");
ie:document.idname
或者document.getElementById("idName")
解決辦法:統(tǒng)一使用document.getElementById("idName")
-
const問題:
說明:Firefox下,可以使用const
關(guān)鍵字或var
關(guān)鍵字來定義常量;
IE下,只能使用var
關(guān)鍵字來定義常量.
解決方法:統(tǒng)一使用var
關(guān)鍵字來定義常量. -
frame問題:
<frame src="xxx.html" id="frameId" name="frameName" />
訪問frame對象:在IE和Firefox中都可以使用window.document.getElementById("frameId")
來訪問這個frame對象.
切換frame內(nèi)容:在 IE和Firefox中都可以使用window.document.getElementById("testFrame").src = "xxx.html"
或window.frameName.location = "xxx.html"
來切換frame的內(nèi)容. -
模態(tài)和非模態(tài)窗口問題:
IE下,可以通過showModalDialog
和showModelessDialog
打開模態(tài)和非模態(tài)窗口;Firefox下則不能.
解決方法:直接使用window.open(pageURL,name,parameters)
方式打開新窗口珊豹。
如果需要將子窗口中的參數(shù)傳遞回父窗口,可以在子窗口中使用window.opener
來訪問父窗口.
例如:var parWin = window.opener; parWin.document.getElementById("Aqing").value = "Aqing";
-
firefox與IE的父元素(parentElement)的區(qū)別:
IE:obj.parentElement
firefox:obj.parentNode
解決方法: 因為firefox與IE都支持DOM,因此使用obj.parentNode
是不錯選擇. -
document.formName.item(”itemName”)
問題:
IE下簸呈,可以使用document.formName.item(”itemName”)
或document.formName.elements["elementName"];
Firefox 下店茶,只能使用document.formName.elements["elementName"]
解決方法:統(tǒng)一使用document.formName.elements["elementName"]
-
input.type
屬性問題
IE下input.type
屬性為只讀蜕便;但是Firefox下input.type
屬性為讀寫。
解決辦法:不修改input.type屬性贩幻。如果必須要修改轿腺,可以先隱藏原來的input,然后在同樣的位置再插入一個新的input元素丛楚。 -
事件委托方法
IE下族壳,使用document.body.onload= inject;
其中functioninject()在這之前已被實現(xiàn);在Firefox下趣些,使用document.body.onload= inject();
- 各種的樣式兼容
4.vue相關(guān)
-
vue組件間傳值:
父子組件傳值:props
子父傳值:$emit
多組件:EventBus 事件總線 -
生命周期:
創(chuàng)建:
beforeCreate
在實例初始化之后仿荆,數(shù)據(jù)觀測(data observer) 和 event/watcher 事件配置之前被調(diào)用。
created
實例已經(jīng)創(chuàng)建完成之后被調(diào)用坏平。在這一步拢操,實例已完成以下的配置:數(shù)據(jù)觀測(data observer),屬性和方法的運算舶替, watch/event 事件回調(diào)令境。然而,掛載階段還沒開始顾瞪,$el 屬性目前不可見
掛載:
beforeMount
在掛載開始之前被調(diào)用:相關(guān)的 render 函數(shù)首次被調(diào)用舔庶。
mounted
el 被新創(chuàng)建的 vm.$el 替換,并掛載到實例上去之后調(diào)用該鉤子陈醒。
DOM渲染在mounted階段已經(jīng)完成栖茉。
更新:
beforeUpdate
數(shù)據(jù)更新時調(diào)用,發(fā)生在虛擬 DOM 重新渲染和打補丁之前孵延。 你可以在這個鉤子中進一步地更改狀態(tài)吕漂,這不會觸發(fā)附加的重渲染過程。
updated
由于數(shù)據(jù)更改導(dǎo)致的虛擬 DOM 重新渲染和打補丁尘应,在這之后會調(diào)用該鉤子惶凝。
當(dāng)這個鉤子被調(diào)用時,組件 DOM 已經(jīng)更新犬钢,所以你現(xiàn)在可以執(zhí)行依賴于 DOM 的操作苍鲜。然而在大多數(shù)情況下,你應(yīng)該避免在此期間更改狀態(tài)玷犹,因為這可能會導(dǎo)致更新無限循環(huán)混滔。
該鉤子在服務(wù)器端渲染期間不被調(diào)用
銷毀:
beforeDestroy
實例銷毀之前調(diào)用。在這一步,實例仍然完全可用坯屿。
destroyed
Vue 實例銷毀后調(diào)用油湖。調(diào)用后,Vue 實例指示的所有東西都會解綁定领跛,所有的事件監(jiān)聽器會被移除乏德,所有的子實例也會被銷毀。 該鉤子在服務(wù)器端渲染期間不被調(diào)用吠昭。
ajax請求是在monted生命周期中完成的