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

答えは、コメントで示唆されているように、「拡張機能をオフにする (YSlow でした)」であることが判明しました。

于 2009-05-09T04:59:03.033 に答える
1

ファイルの最初の文字である「d」でエラーが発生し、「隠された」特殊文字などを除外します。何らかの理由でFirefoxがファイルをローカルで開くことができないか、ファイルが誤って保存されたエンコーディングでダイアログボックスに正常に表示されても正常に解析されないことが推測されます. 誤って Unicode で保存されたのではないでしょうか?

貼り付けた.cssファイルの構文は(マークアップが正確に有効ではありませんが、それだけではないと思いますが)完璧であるため、実際のファイルにリンクしていただければ助かります。

于 2009-05-09T04:35:58.533 に答える
0

ファイルは Windows で作成されましたか? おそらく、改行/改行を mac os x に再フォーマットする必要があります。コマンドラインで dos2unix などを使用してファイルを実行してみてください。あなたが見ていないbomである可能性もあります。

于 2009-05-09T04:20:16.260 に答える
0

私の推測では、誤ってファイルに保存された可能性のある隠し文字があると思われます。CSS ファイルを再保存するか、最初の行を再入力してから再保存してみてください。

于 2009-05-09T04:24:58.027 に答える
0

Google から来て、ローカルの html を使用している場合、file://技術的にはクロスオリジン リクエストであるため、Firefox はプロトコルを使用する外部 CSS のリクエストをブロックすることに注意してください。

簡単な解決策は、サイトを含むディレクトリを localhost 経由で提供することhttp://です。Python インタープリターがインストールされている場合は、これを非常に簡単に行うことができます。

python3 -m http.server 8080

次に、ブラウザから localhost にアクセスします。

firefox localhost:8080

8080他のポートに置き換えることができます。

于 2016-06-20T23:28:06.773 に答える