2010-11-13 79 views
0

嘿, 自從谷歌字體出來以後,我就想到了這個問題。首先看到下面這個:谷歌字體CSS包括

<link href='http://fonts.googleapis.com/css?family=Cantarell&subset=latin' rel='stylesheet' type='text/css'> 

這裏谷歌鏈接到一個沒有文件擴展名(.css)的外部CSS文件!然後谷歌還有另一個功能,如果你想包括另一種字體,那麼只需添加「|」簽名並鍵入字體名稱。你怎麼做到這一點?使用Javascript,PHP或其他?

幫助表示讚賞! 謝謝:)

回答

0

是的,他們必須做某種服務器端處理的,當請求此URL

http://fonts.googleapis.com/css 

查詢字符串被解析和文本流與CSS輸出返回。允許用戶添加額外的字體系列到CSS是非常簡單的,因爲服務器只是吐出你追加到查詢字符串。

您可以在PHP或ASP.Net(以及其他許多應用程序)中執行此操作,但沒有任何關於Google URL中的基礎技術的說明。

最簡單的方法就是在你的web服務器上創建一個名爲「css」的文件夾,然後在那裏有一個默認腳本來處理。該網址基本上可以與Google網址幾乎相同。

+0

感謝您的幫助! – 2010-12-26 12:25:55

2

文件的擴展名並不一定意味着所有關於該文件內容的任何內容。這僅僅是一個慣例(例如,Windows使用它來使它看起來像一個需求)。

網站上的任何動態「文件」都可以隨時返回它想要的任何內容。擴展意味着什麼 - 除了預期的慣例。

該URL可能是一個名爲css的目錄,其默認的「文檔」是一個腳本,它處理參數以決定要提供的內容。或者,它可能是一個名爲css的文字文件,它可以做同樣的事情。或者,它根本不可能是文件或文件夾,而只是routing機制的一部分,該機制根據URL調用控制器,並將參數傳入。

Web服務器在響應中返回信息,指示返回值的MIME類型是,並且瀏覽器根據該文件確定如何處理它 - 而不是,這取決於文件的擴展名。

+0

例如,這意味着您可以使用擴展名爲.jpg的文件創建一個返回HTML的文件,並將您的Web服務器配置爲發送'text/html'作爲MIME類型 - 瀏覽器將以此方式顯示它。也;有些網站的URL包含路徑中的'.exe'文件......但瀏覽器不會嘗試讓用戶將返回的內容保存爲文件,因爲MIME類型表示它是正在返回的「text/html」。 – 2010-11-13 02:54:56

+0

感謝您的幫助!這個問題真的讓我很久以前就感到奇怪了。 – 2010-11-13 03:09:57