2010-11-13 101 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