javascript - 天貓首頁(yè)首屏數(shù)據(jù)來(lái)源
問(wèn)題描述
我在研究天貓首頁(yè)的代碼,感覺它的首屏數(shù)據(jù)并不像是ajax加載的,所以我想問(wèn)一下,它的首屏數(shù)據(jù)是利用什么方式加載的?
比如:
window.g_config.serverTime = 1496370628991; // '1496370628991'這個(gè)數(shù)字每次刷新都是變化的
<p style='display:none;'> ………… </p> // 這個(gè)p(p中的json數(shù)據(jù)太長(zhǎng),所以省略了)里面的數(shù)據(jù)查看源代碼的時(shí)候就有,并不像是ajax請(qǐng)求的。
下圖是p中的數(shù)據(jù)
問(wèn)題解答
回答1:研究了一下午,大概是明白了,天貓首頁(yè)在服務(wù)端使用node做的,所以html渲染的時(shí)候就會(huì)把數(shù)據(jù)帶上。樓上說(shuō)的比較對(duì),這種查看源代碼就有的數(shù)據(jù)肯定是服務(wù)端直出的。
回答2:阿里都是采用的fetch技術(shù)加載的,并不是采用的ajax。
回答3:沒研究過(guò),目測(cè)是服務(wù)端直出
回答4:模板引擎變量替換
回答5:可以去看下和服務(wù)器端渲染有關(guān)的東西。。為了提高首屏的渲染速度。。不管是用PHP或者是nodeJS,都是可以服務(wù)器端渲染的
回答6:https://developer.mozilla.org... fetch的API
回答7:反對(duì)上面說(shuō)fetch獲取的,fetch也好,ajax也好。都可以在network里看到請(qǐng)求的發(fā)送,但是首頁(yè)顯然沒有。
相關(guān)文章:
1. javascript - fis3使用MD5但是如何引用?2. 網(wǎng)頁(yè)爬蟲 - python爬蟲翻頁(yè)問(wèn)題,請(qǐng)問(wèn)各位大神我這段代碼怎樣翻頁(yè),還有價(jià)格要登陸后才能看到,應(yīng)該怎么解決3. javascript - JAVA寫的H5頁(yè)面能否解釋一下流程4. css - 怎么實(shí)現(xiàn)一個(gè)圓點(diǎn)在一個(gè)范圍內(nèi)亂飛5. python 計(jì)算兩個(gè)時(shí)間相差的分鐘數(shù),超過(guò)一天時(shí)計(jì)算不對(duì)6. javascript - 使用form進(jìn)行頁(yè)面跳轉(zhuǎn),但是很慢,如何加一個(gè)Loading?7. docker-machine添加一個(gè)已有的docker主機(jī)問(wèn)題8. docker-compose中volumes的問(wèn)題9. angular.js - 輸入郵箱地址之后, 如何使其自動(dòng)在末尾添加分號(hào)?10. javascript - 后臺(tái)管理系統(tǒng)左側(cè)折疊導(dǎo)航欄數(shù)據(jù)較多,怎么樣直接通過(guò)搜索去定位到具體某一個(gè)菜單項(xiàng)位置,并展開當(dāng)前菜單
