Firefox 3 外部 css 出现语法错误
-
20-08-2019 - |
题
使用以下 html/css 时,我在 Firefox 3.0.10/Leopard 中遇到奇怪的语法错误:
foo.html:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
<head>
<link rel="stylesheet" href="foo.css"/>
</head>
<body>
Foo
</body>
</html>
foo.css:
div {
color: #FF0000;
}
我在控制台中得到的错误是:
Error: syntax error
Source File: file://path/to/foo.css
Line: 1, Column: 1
Source Code:
div {
它不是 CSS,因为将其粘贴到内联 STYLE 标记的正文中效果很好。它不是链接标记,因为将 HREF 指向堆栈溢出的 css 文件不会给出错误。感觉像是 Firefox 的 bug,但我找不到任何相关文档。这是一个已知问题吗?有解决方法吗?这使得调试或验证变得困难。
谢谢。
解决方案 2
正如评论中所建议的,答案是“关闭扩展(这是 YSlow)”。
其他提示
它会在文件中的第一个字符(即“d”)上给您错误,这对我来说排除了诸如“隐藏”特殊字符之类的内容。我猜想 Firefox 出于某种原因无法在本地打开该文件,或者该文件意外地使用某种编码保存,尽管该编码在对话框中显示良好,但无法正常解析。也许它被错误地保存为 Unicode?
如果您可以将我们链接到实际文件,那将会有所帮助,因为您的语法(尽管标记并不完全有效,但我不认为就是这样)在您粘贴的 .css 文件中是完美的。
文件是在windows上写的吗?也许您需要将回车/新行重新格式化为 mac os x。尝试在命令行上通过类似 dos2unix 的方式运行该文件。也可能是一个 博姆 你没有看到。
我的猜测是,文件中可能意外保存了一些隐藏字符。尝试重新保存 CSS 文件,或重新键入第一行,然后重新保存。
如果您来自 Google 并且使用本地 html,请注意,Firefox 会阻止对使用 file://
协议,因为它在技术上是跨域请求。
一个快速解决方案是将包含您的站点的目录提供给本地主机 http://
. 。如果你安装了 python 解释器,你可以很容易地做到这一点:
python3 -m http.server 8080
然后通过浏览器访问localhost:
firefox localhost:8080
您可以更换 8080
与任何其他端口。