javascript - 替代 file(1) for javascript/css mimetype

标签 javascript css file mime

我在 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

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

谢谢

最佳答案

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

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

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

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

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

关于javascript - 替代 file(1) for javascript/css mimetype,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1783751/

相关文章:

javascript - 谷歌地图不显示在 Bootstrap 上?

php - 单击按钮后文本显示在下方

c++ - 以追加模式打开文件以用 C++ 写入是否会为整个文件分配内存?

javascript - 将输入标签读入 JavaScript 字符串

javascript - iOS/Android浏览器: showing a zoomed preview of button on touchmove

javascript - 从 CommonJS TypeScript 导入 es 模块文件

javascript - 在鼠标悬停时,我的文字和图像以一种奇怪的方式在左侧移动

javascript - 防止 phonegap 中的链接弹出窗口

css - 波斯语 @font-face 在 Chrome 中不起作用,是否有错误?

计算文件中字符数、单词数和行数的C代码