2012-07-28 72 views
0

一個很簡單的問題:PHP的包括文件,其中包含了HTML標記和js腳本

  • 「Headers.html」,包含了一些被JS腳本驅動的下拉菜單。腳本位於頭部,菜單位於主體部分。

  • 「Content1.html」,「Content2.html」等都有自己的< head>和<體>,另外它們含有PHP包括<體內聲明>在的元素帶來的「 Headers.html」。

這樣的安排是非法的,因爲它重複< head>和<體>生成的文件中,對不對?但是,如果我沒有在「headers.html」中定義< head>,那麼最終文件的主體中間會出現js腳本。我想將所有腳本放入第三個文件中,該文件將包含在內容文件的< head>內,但這意味着「headers.html」中的菜單不能作爲獨立工作,這是一個煩惱。那麼,包含腳本的html文件的最佳做法是什麼?

+0

爲什麼在需要使用菜單的任何位置包含腳本文件是一個巨大的煩惱? – 2012-07-28 07:14:03

+0

這不是一個很大的煩惱,但我想知道是否將腳本和標記合併在一起是「最佳實踐」。 – aag 2012-07-28 19:03:43

回答

1

將腳本和標記嚴格保存在單獨的文件中,並在需要時包含它們。

+0

同意。但是,有副作用。如果包含的文件通過相對路徑引用腳本文件,則路徑在包含文件中可能不再有效。沒有使用絕對路徑,我不明白這是如何在邏輯上解決的。 – aag 2012-07-28 19:05:24

+0

@aag因此,這些包含文件就像庫一樣。如果你真的無法爲你的文件定義某種簡單的文件系統佈局(爲什麼不呢?),然後嘗試在服務器端解決它:使用重寫指令來模擬某種虛擬文件系統佈局,這種佈局可能與您使用的每個項目不同這些文件在。 – arkascha 2012-07-28 19:37:14

+0

一種可能的策略可能是(1)包含文件,(2)腳本文件,以及(3)內容文件都在根目錄下一級。或者,如果超過1個級別,則所有1個級別下降一個通用目錄。這樣,Content目錄中對Script目錄的相對引用將與Include目錄中的相同。我的想法是直的還是亂碼? – aag 2012-07-29 05:26:21