為什麼不用js去渲染頁面?

2021-08-25 05:06:43 字數 1244 閱讀 2807

為什麼不用js去渲染頁面?

用js去渲染頁面,伺服器只提供資料。 那麼頁面都可以是靜態的html檔案。 通過ajax獲取資料。然後js去渲染。 這樣不是很和諧麼?

而且好處也很多。首先頁面只包含模板,靜態化有助於各級快取。

其次js 渲染簡單方便。分擔伺服器渲染的計算量。

伺服器程式實現簡單只提供資料。

畫個流程吧: 

client ---------------------- > server

<------- html模板 + js

ajax ------------->

<------------json 資料

然後:

js 把json資料 填充 html 模板 -----> 瀏覽器解析渲染畫到螢幕上

我指的就是js 填充 html模板這一過程.

我覺得 唯一不好的是搜尋引擎不知道支援不支援這種頁面了。

可是奇怪的是雖然有很多js渲染庫 。有的橫方便而且超簡單 。但是各個**並沒有使用這些技術。請問只是為啥。僅僅是對搜尋引擎不友好麼?

自己照著tempo.js寫了乙個用於 js模板渲染的函式。

function render(id, data, insert); 

var t = render.__t[id];

dom = document.getelementbyid(id);

if(!dom) return;

if(!t))#/gmi, "'+data[\"$1\"]+'");

html = ["return '", html ,"';"].join('');

t = new function('data',html);

render.__t[id] = t;

dom.innerhtml = '';

} if(!t) return;

var ret = '';

if(data.length);

render('***',obj);

搞定 。 如果穿進去乙個list 。就會渲染出一串。

做了乙個例子  渲染sohu微博頁面的.

開啟頁面直接看原始碼.   渲染速度沒問題 .

實現有兩種方式,

1 把生成的json資料放到頁面裡 直接帶過來.(不知道這樣對 seo支援的怎麼樣?)

2 用ajax去獲得.

為什麼不用Dojo?

不用dojo,原因可能有很多,但是主要的就是 2.dojo的外觀精細度遠不如extjs,extjs的操作更windows一些。3.dijit的widget不如extjs的功能多,使用dojo很多時候你不得不自己編制乙個擴充套件widget。可能更多的原因,還是比較喜歡 拿來就用 不喜歡自己程式設計。...

為什麼我寫的page頁面無法渲染

場景 有使用者使用tiny框架開發page頁面,但是訪問頁面發生 白板 什麼內容也沒有渲染出來。經過 審核,發現他的page頁面寫法是正確的,但是layout檔案內容為空,缺少 佔位符,這樣會導致模板引擎找不到而渲染失敗。對於tiny框架而言,一定要有乙個預設的default.layout檔案,la...

為什麼我寫的page頁面無法渲染

場景 有使用者使用tiny框架開發page頁面,但是訪問頁面發生 白板 什麼內容也沒有渲染出來。經過 審核,發現他的page頁面寫法是正確的,但是layout檔案內容為空,缺少 佔位符,這樣會導致模板引擎找不到而渲染失敗。對於tiny框架而言,一定要有乙個預設的default.layout檔案,la...