Синтаксическая ошибка Firefox 3 с внешним CSS - PullRequest
4 голосов
/ 09 мая 2009

Я получаю странную синтаксическую ошибку в Firefox 3.0.10 / Leopard при использовании следующего html / css:

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, но я не могу найти документацию по ней. Это известная проблема, и есть ли обходной путь? Это затрудняет отладку или проверку.

Спасибо.

Ответы [ 5 ]

1 голос
/ 09 мая 2009

Ответ оказался "Отключить расширения (это был YSlow)", как это предлагается в комментариях.

1 голос
/ 09 мая 2009

Это дает вам ошибку на первом символе в файле, который является 'd', который исключает такие вещи, как "скрытые" специальные символы для меня. Я предполагаю, что Firefox не может открыть файл локально по какой-либо причине, или что файл был случайно сохранен с кодировкой, которая, хотя и отображается нормально в диалоговом окне, не анализируется нормально. Возможно, он был сохранен как Unicode по ошибке?

Если бы вы могли связать нас с реальным файлом, это помогло бы, поскольку ваш синтаксис (несмотря на то, что разметка не совсем верна, но я не думаю, что это так) идеально подходит для файла .css, который вы вставили.

0 голосов
/ 21 июня 2016

Если вы здесь из Google и работаете с локальным html, обратите внимание, что Firefox блокирует запросы на внешний CSS, которые используют протокол file://, потому что это технически перекрестный запрос.

Быстрое решение состоит в том, чтобы обслуживать каталог, содержащий ваш сайт, на localhost через http://. Если у вас установлен интерпретатор Python, вы можете сделать это очень легко:

python3 -m http.server 8080

Затем получите доступ к localhost через ваш браузер:

firefox localhost:8080

Вы можете заменить 8080 на любой другой порт.

0 голосов
/ 09 мая 2009

Я предполагаю, что есть какой-то скрытый символ, который мог быть случайно сохранен в файле. Попробуйте заново сохранить файл CSS или снова введите первую строку, а затем снова сохраните его.

0 голосов
/ 09 мая 2009

Был ли файл написан на windows? Возможно, вам нужно переформатировать возврат каретки / новую строку в mac os x. попробуйте запустить файл через что-то вроде dos2unix в командной строке. Также может быть бом , которого вы не видите.

...