Firefox 3语法错误与外部CSS

时间:2009-05-09 04:09:03

标签: css firefox syntax-error firefox-3

使用以下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,但我找不到任何文档。 这是一个已知问题,是否有解决方法?这使得调试或验证变得困难。

感谢。

5 个答案:

答案 0 :(得分:1)

它给你错误的文件中的第一个字符,这是一个'd',它排除了像我这样的“隐藏”特殊字符之类的东西。我猜想firefox无论出于何种原因都无法在本地打开文件,或者文件意外地保存了一个编码,尽管它在对话框中显示正常,但是没有正常解析。也许它被错误地保存为Unicode?

如果您可以将我们链接到实际文件,它会有所帮助,因为您的语法(尽管标记不完全有效,但我认为不是这样)在您粘贴的.css文件中是完美的。

答案 1 :(得分:1)

答案结果是“关闭扩展程序(它是YSlow)”,如评论中所示。

答案 2 :(得分:0)

文件写在Windows上吗?也许您需要将回车/换行重新格式化为mac os x。尝试在命令行上运行dos2unix之类的文件。也可能是你没有看到的bom

答案 3 :(得分:0)

我的猜测是,有一些隐藏的角色可能会被意外保存在文件中。尝试重新保存CSS文件,或重新键入第一行,然后重新保存。

答案 4 :(得分:0)

如果您来自Google并使用本地HTML,请注意Firefox会阻止使用RectangleF协议的外部CSS请求,因为它在技术上是跨源请求。

快速解决方法是将包含您网站的目录提供给file://上的localhost。如果你安装了python解释器,你可以很容易地做到这一点:

http://

然后通过浏览器访问localhost:

python3 -m http.server 8080

您可以将firefox localhost:8080 替换为任何其他端口。