使用以下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,但我找不到任何文档。 这是一个已知问题,是否有解决方法?这使得调试或验证变得困难。
感谢。
答案 0 :(得分:1)
它给你错误的文件中的第一个字符,这是一个'd',它排除了像我这样的“隐藏”特殊字符之类的东西。我猜想firefox无论出于何种原因都无法在本地打开文件,或者文件意外地保存了一个编码,尽管它在对话框中显示正常,但是没有正常解析。也许它被错误地保存为Unicode? p>
如果您可以将我们链接到实际文件,它会有所帮助,因为您的语法(尽管标记不完全有效,但我认为不是这样)在您粘贴的.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
替换为任何其他端口。