問題一:圖片延遲載入是怎麼實現的?
- 在結構上,我們把img標籤放到一個div盒子中,開始的時候圖片的src中的地址為空,我們把圖片的真實存放在一個自定義屬性data-src中,我們給圖片所在的盒子設定一個預設的背景圖佔位(最好是小1kb)
- 在js中,當監聽到頁面中的結構和資料都載入完成後(或者一個間隔時間),開始把圖片的真實圖片地址賦值給img中的src(為了防止圖片地址不存在導致404錯誤,我們在賦值給圖片src屬性是,往往會驗證一下圖片是否存在)
問題二:如何實現瀏覽器內多個標籤頁之間的通訊?
本題主要考察的是資料純粹的知識。資料儲存有本地和伺服器儲存兩種方式,這裡主要用本地儲存解決,即呼叫localStorage,cookis等本地儲存方式 第一種呼叫localStorage
在一個標籤頁面使用
localStorage.setItem(key,value)新增修改或刪除內容
在另一個標籤頁面監聽storage事件,
即可得到localStorage儲存的值,實現不同標籤標籤之間的通訊
複製程式碼
第二種cookie+setInteraval() 將要傳遞的資訊儲存在cookie中,每隔一定時間獲取cookie資訊,即可隨時獲取要傳遞的資訊
第三種 h5的postMessage postMessage(data,origin)方法接受兩個引數,分別在子頁面和父頁面觸發messag事件即可
問題三:同源策略
協議 域名 埠號都一致 則是同源 如果協議 域名 埠號這三個有一個不一樣則是跨域
- 為什麼瀏覽器預設不支援跨域?
cookie localStorage DOM元素 ajax 這些都不支援跨域
- 實現跨域(讓兩個頁面之間通訊)
- jsonp (執行完後返回的是一個promise 缺點只能傳送get請求,並且不安全)
- cors 純後端提供的(最常用的 安全性高)
- postMessage 兩個頁面間可以通訊
- document.domain 專門做子域和父域關係的
- window.name
- location.hash
- http-proxy
- nginx
- websocket
問題四:ifram的缺點
- ifram會阻塞主頁面的onload事件
- 搜尋引擎無法檢索這種頁面,不利於seo優化
- ifram和主頁面共享連線池,而瀏覽器對相同域的連線有限制,所以會影響頁面的載入速度
問題五:let 和 var 的區別
- let沒有變數提升
- let 會形成塊級作用域
- 存在暫時性死區
問題六:CSS優先順序比較
!important>id>class>tag important比內聯優先順序高
問題七:XML和HTML的區別
- 功能上的區別 XML可相容各大瀏覽器,手機以及PDA,並且瀏覽器也能快速正確的編譯網頁,
- 書寫習慣 XML元素必須被正確的巢狀,閉合,區分大小寫,文件必須擁有根元素
問題三:vue有哪些自定義屬性