javascript - 天貓首頁(yè)首屏數(shù)據(jù)來(lái)源
問(wèn)題描述
我在研究天貓首頁(yè)的代碼,感覺(jué)它的首屏數(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:沒(méi)研究過(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è)顯然沒(méi)有。
相關(guān)文章:
1. linux運(yùn)維 - python遠(yuǎn)程控制windows如何實(shí)現(xiàn)2. docker鏡像push報(bào)錯(cuò)3. javascript - 如何獲取未來(lái)元素的父元素在頁(yè)面中所有相同元素中是第幾個(gè)?4. angular.js - 不適用其他構(gòu)建工具,怎么搭建angular1項(xiàng)目5. javascript - js判斷一個(gè)數(shù)組是否重復(fù)6. java - 原生CGLib內(nèi)部方法互相調(diào)用時(shí)可以代理,但基于CGLib的Spring AOP卻代理失效,為什么?7. 百度地圖api - Android百度地圖SDK,MapView上層按鈕可見(jiàn)卻不可觸,怎么解決?8. javascript - 后端傳過(guò)來(lái)的數(shù)據(jù)格式是這樣,如何使用?9. html5 - 怎么用npm下載react3版本的路由呢。10. python - django models 為生成的html元素添加樣式。
