【问题标题】:alternative to file(1) for javascript/css mimetypejavascript/css mimetype 的 file(1) 替代品
【发布时间】:2010-12-19 12:25:38
【问题描述】:

在win32上我正在使用

$ file -v
file-5.03
magic file from C:\PROGRA~1\gnuwin32/share/misc/magic

但它给出了奇怪的结果

foo.css; text/x-c; charset=utf-8
json2.js; text/x-c; charset=us-ascii
foo.js; text/x-c++; charset=utf-8
bar.js; text/plain; charset=utf-8

有人得到类似的结果吗?更好的结果?有人知道替代方案吗?

谢谢

【问题讨论】:

    标签: javascript css file mime


    【解决方案1】:

    我不认为 file(1) 命令可以做到这一点。 “文件”命令在文件中查找魔术字符串 - 例如GIF 文件开头的字符串“GIF89a”。 CSS 和 JS 文件不能像这样自我识别,所以你必须做一些更复杂的事情。

    如果您可以访问服务器返回的 Content-Type 标头,那将比通过查看文件内容来猜测类型可靠得多。

    如果您只有文件内容,您可以自行搜索不太可能出现在 CSS 文件中的字符串,例如“function”或“var”。如果你找到它们,它可能是 JavaScript。当然,这是一种不完美的启发式方法 - 可能有一个名为“function.png”的背景图像。

    换一种方式更容易出错,因为 JavaScript 可以操纵 CSS 样式……在 JS 文件中找到诸如“text-decoration”之类的 CSS 属性并不罕见。

    或者您可以尝试通过 CSS 或 JS 解析器运行该文件。如果您在解析为 CSS 时遇到大量错误,则可能不是 CSS 文件 :)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-12-21
      • 1970-01-01
      • 2012-04-08
      • 2012-06-13
      • 1970-01-01
      • 1970-01-01
      • 2013-03-29
      • 2013-03-07
      相关资源
      最近更新 更多