2012-02-27 74 views
8

看起來我在網站創建方面有點過時。什麼是新框架?

幾年前,我學會了用框架創建簡單的網站。

然而,w3school.com不鼓勵這種解決方案,未來的HTML版本不再支持框架。

那麼簡單的替換是什麼?

  • 的iFrame也似乎被大多數開發商氣餒似乎
  • PHP提供的解決方案?什麼是在PHP中取代幀的簡單方法?
  • 如果我不使用PHP(實際上我需要在一個項目中使用JavaEE),我該如何創建類似框架的網站?

短:如何創建一個漂亮的(框架式)網站時下?

+0

這取決於。你使用的是服務器端語言(Python,PHP,Ruby等)還是使用純HTML? – Blender 2012-02-27 14:03:30

+0

你對框架的用途是什麼?他們爲你做了什麼? – Oded 2012-02-27 14:03:46

+0

一個相當不錯的討論可以在http://stackoverflow.com/questions/4846019/any-way-of-using-frames-in-html5 – synthesizerpatel 2012-02-27 14:03:54

回答

14

一般來說:

視覺

CSS。有很多techniques鋪設內容(取決於你想要的確切效果,Holy Grail是一個共同的願望)。

The overflow properties處理頁面滾動的子部分,雖然設計者認爲有菜單使用屏幕空間一直是一個好主意通常是錯誤的。

避免metacontent重複

(即把東西基本一樣的結構,導航菜單等上頁面而不復制/粘貼它們)

模板系統(或包括系統),要麼運行服務器端(最常見)或構建時(它可以支持只允許靜態文件的HTTP服務器)。

這個實現的語言是不相關的,PHP和垃圾一樣普遍,Java是一個選項,我傾向於Perl(更具體地說:Template Toolkit),還有很多其他的。對於這種類型的工作,JavaScript變得越來越流行,其中諸如assemble等工具即將上市。

使用搜索引擎可以找到常用的模板語言或包含適合您所選編程語言的系統。

加載新的內容,而無需離開當前頁面

的JavaScript,通常與XMLHttpRequest對象(被稱爲Ajax的技術),以及(如果你正在做的一項重要內容變化)結合使用the History API(所以書籤和鏈接仍然有效)。 Github是a good example of this。有各種框架,如Angular,這些框架試圖讓事情變得更容易。注意limited browser support和所有其他可以導致JS文件的東西使使用good design principles essential。使這些事情變得可靠的一種方法是編寫Isomorphic JS

+1

如何改變一邊的過去的「內容框架」,然後保持原來的「導航框架」,而不寫出重複的代碼呢?我現在仍然可以看到現在有這兩個組件的網站(也許現在還有其他一些詞) – ctekk 2012-02-27 14:23:05

+0

@Coretek - 請參閱標題爲「避免重複metacontent」和「加載新內容而不離開頁面」的答案的兩個部分 – Quentin 2012-02-27 14:24:04

+0

好的,我明白,這些服務器端語言是用於它,但你怎麼做到這一點呢?創建一個刪除元素並放置新元素的方法(Java說)? – ctekk 2012-02-27 14:26:46

4

框架不會被新的「技術」所取代。最先進的技術是將所有內容放入同一個文檔並通過CSS進行設計。當然,服務器端包含可以幫助你做到這一點。

2

使用CSS positioning來創建一個類似框架的接口並且AJAX來更改容器的內容。您可以使用JavaScript框架如jQuery,PrototypeMooTools來處理AJAX請求。

但是,如果您要包含來自其他域的內容,則必須使用,因爲AJAX會遵循same origin policy。你可以使用某種模板系統(PHP,Ruby,Pearl,Python--當然還有這種語言的框架)。如果你想寫DRY(不要重複自己),你可以使用某種模板系統。