2016-01-08 94 views
0

我正在開發一個HTML5/CSS3網站,並且在所有10或15個網頁中都有相同的文本塊。在所有網頁中添加相同文字的最佳方法是什麼? 我是否應該通過php或javasript從外部文件中包含該文本? 或者我只是複製並粘貼在所有網頁的文字?想要在多個網頁中添加同一段文字

如果我應該去第一個選項,那麼它會減慢我的網站(一點點)加載外部文件?

如果我應該選擇第二個選項,那麼如果網站所有者想要對該文本進行一些更改,該怎麼辦?

編輯:我已經包含使用java的外部文件的頁眉,頁腳和主菜單。在頁面中添加太多外部文件會很重要嗎?

我首選java上的php,因爲我不想將.html文件擴展名改爲.php。

+1

如果您使用JS,搜索引擎或沒有JS的人將無法看到它。 – Oriol

+0

我不會說PHP,但如果這是ASP.NET MVC,您可能會創建一個包含重複文本的部分視圖或佈局文件(母版頁)。您可能想要搜索PHP「部分視圖」或「您的PHP框架部分視圖」 –

回答

1

我應該通過php或javasript包含來自外部文件的文本?

如果用PHP這樣做是一種選擇,那就去吧。瀏覽器顯示頁面所需的HTTP請求越少越好。另外請注意,雖然像Google這樣的搜索引擎可以處理一些 JavaScript,但我不會依賴它們來處理ajax請求併爲結果編制索引。而且,如果您將其中的JS包含在內,那麼沒有啓用JavaScript的大約2%的用戶將無法看到該內容。用PHP包含它意味着你的內容在一個文件中,所以更新它很容易(而不必在10或15個不同的地方更新它)。從YUI Best Practices for Speeding Up your Website

更多:

最小化HTTP請求的最終用戶響應時間

80%用於前端。大部分時間都在下載頁面中的所有組件:圖像,樣式表,腳本,Flash等。減少組件數量又會減少呈現頁面所需的HTTP請求數量。這是更快頁面的關鍵。

1

在您的網站的頁面添加script標籤(徘徊無論你想這一段)

<script src="addparagraph.js"></script> 

在此addparagraph.js文件

(function(){ 

    var body = document.body; 
    body.append("<p>some text</p>"); //this paragraph will be appended to every webpage in which add addparagraph.js is loaded 

})(); 

這樣你的主人可以隨時在一個地方編輯變化和這也將是異步的,所以你的網站也不會減速

+0

爲什麼這個downvote? – gurvinder372

+0

@ user1815004你試過這個選項嗎? – gurvinder372

+0

是的,我試過,它的工作。我知道所有這些方法都包含來自外部文件的文本。我的問題是哪一個是最好的方法。 – Adeel

1

的絕對最簡單的就是使用PHP:

<?php include('paragraph.html'); ?> 

你的頁面需要更改擴展名.php這個工作;您還需要在Web服務器中啓用PHP。會有輕微的性能下降,但它應該非常小,除非你是谷歌,否則它無所謂。

另一種方法是使用像Jekyll這樣的服務器端模板引擎來生成15個HTML文件,所有這些文件都具有相同的內容。它需要您每次更改內容時重新編譯您的站點,但它可以自動執行 - 然後在服務時間內根本沒有性能問題。

正如您所說,複製粘貼解決方案是最糟糕的,即使客戶發誓他們永遠不需要編輯頁面,您永遠也不應該使用該解決方案。因爲他們最終總是會的。

相關問題