4

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

谢谢。

4

5 回答 5

1

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

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

于 2009-05-09T04:35:58.533 回答
1

正如评论中所建议的那样,答案原来是“关闭扩展(它是 YSlow)”。

于 2009-05-09T04:59:03.033 回答
0

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

于 2009-05-09T04:20:16.260 回答
0

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

于 2009-05-09T04:24:58.027 回答
0

如果您来自 Google 并使用本地 html,请注意 Firefox 会阻止对使用该file://协议的外部 CSS 的请求,因为它在技术上是跨域请求。

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

python3 -m http.server 8080

然后通过浏览器访问 localhost:

firefox localhost:8080

您可以8080用任何其他端口替换。

于 2016-06-20T23:28:06.773 回答