Mozilla не удалось загрузить таблицу стилей
Я пытаюсь загрузить локальные XML-файлы с удаленной таблицей стилей XSL. IE, похоже, справляется с этим просто отлично, но не firefox. Есть ли решение для этого?
несколько вещей, чтобы проверить:
проверьте, что вы используете правильный тип mime и кодировку символов на стороне сервера. Firefox разработает кодировку для себя при загрузке локального файла, но будет соблюдать объявление типа MIME/кодировки сервера при запросе с сервера.
Я видел несколько постов (например,здесь), которые утверждают, что Firefox просто не поддерживает загрузку удаленных шаблонов XSL с использованием абсолютных путей. Я сомневаюсь в этом и подозреваю, что скорее всего, проблема mime, как указано выше, заставляет их поверить в это, но, возможно, стоит спросить об этом напрямую у Mozilla.
наконец, вы проверили, что таблица стилей XSL работает при локальном вытягивании? И можете ли вы подтвердить, что это действительно XSLT, а не один из причудливых вариантов Microsoft IE-only XSL, таких как WD-XSL?
Если это не проблема синтаксиса, я думаю, что это та же политика происхождения вопрос. В Firefox (и также Chrome и IE9) не преобразует локальный XML с удаленным XSLT по соображениям безопасности. Это дает неизвестную ошибку 805303f4 . Представьте, что XSLT может создавать вредоносный JavaScript, встроенный в выходной код HTML.
решения, если вы разработчик:
- сделайте преобразование на стороне сервера и дайте пользователю ссылку к выходу HTML
- загрузите локально (в фоновом режиме) как XML, так и XSLT, а затем откройте XML для пользователя
Я заметил, что CSS и графические файлы остаются на сервере без ограничений.
вы также можете изменить этот параметр в firefox:
- о программе.config
- примите предупреждение безопасности (и будьте осторожны : -))
- искать безопасности.файлури.strict_origin_policy
- установите значение false
на исходный вопрос: если вы получите эту ошибку с Firefox при открытии XML-документа:
и если таблица стилей XSLT упоминается в инструкции по обработке XML-таблицы стилей с использованием абсолютного URL-адреса сайта, отличного от сайта XML-документа, то одним из решений может быть использование Firefox CORS установка Force CORS надстройки. Конечно, это требует, чтобы сервер файла XSLT поддерживал CORS как что ж.
это имело значение для меня (для случая локального XML-файла, ссылающегося на удаленный XSLT с использованием абсолютного URL-адреса).
у меня также есть политика того же происхождения для файлов URIs, отключенная в Firefox, установив в about: config:
но это не сделать трюк в этом случае (и даже может быть true для данного случая).
см. ниже для получения дополнительной информации: как я могу заставить XSLT работать в chrome?
Я понятия не имею, почему мой код не взаимодействует со мной и моим xml. Прошу прощения за то, что даю картинки, но когда я даю код, сайт отображает конечный результат, а не сам код, и я не знаю, как его изменить.
Мой код XSLT Я действительно не знаю, что не так, кажется, что они неправильно связаны друг с другом, но я все еще невежественен.
2 ответа
Предупреждение: это решение может снизить безопасность вашего браузера Firefox! Как упоминалось в ответе @evilpie, вы также можете получить доступ к файлам через локальный браузер, что делает ненужным изменение приведенного ниже ответа.
Кажется, это обычная проблема, заключающаяся в том, что более новые версии Firefox применяют более строгую политику в отношении источника комбинации XML-XSLT. Если XML и XSLT являются локальными файлами, Firefox заблокирует / проигнорирует ссылку на XSLT.
Решение заключается в изменении одного параметра в about:config : Установить
Это должно сделать ваш XML-файл желаемым. Причины объясняются здесь, в Mozilla, в следующих «Возможных значениях и их последствиях»:
Верно:
Локальные документы имеют доступ к другим локальным документам в том же каталоге и в подкаталогах, но не к спискам каталогов. (По умолчанию)
Неверно: Локальные документы имеют доступ ко всем остальным локальным документам, включая списки каталогов.
Почему необходимо установить это значение на false , хотя XSLT находится в том же каталоге, что и XML, и не требует перечисления каталогов - я не знаю. Может быть, это какая-то причуда древней реализации Firefox XSLT.
Примерно так как Firefox 68 обрабатывает локальные файлы как всегда с перекрестным происхождением. (См. «локальный HTML-файл может привести к краже файла»). Это предотвращает различные проблемы безопасности и конфиденциальности, такие как атака, захватывающая локальные данные в той же папке, что и загруженный файл HTML. См. Также статью «Ограничения для URL-адресов файлов».
В отличие от того, что рекомендует zx485, вы можете установить privacy.file_unique_origin на false в about: config.
Изменение security.fileuri.strict_origin_policy более небезопасно и не должно выполняться, поскольку оно позволяет получить доступ ко всем файлам на вашем компьютере.
обновление
Если я посмотрю на консоль инструментов разработчика в Firefox, он показывает все файлы css и говорит "HTTP / 1.1 200 OK" против каждого файл.
Еще Одно Обновление
эта панель ошибок приходит и уходит, она не согласуется для определенной страницы.
Это происходит почти всегда, когда CSS gziped, но сервер возвращает Content-Length of не сжатый ресурс. Видели, как это происходит при использовании mod_deflate с модуль mod_fastcgi веб. Это ошибка на стороне сервера, а не firefox.
Firebug устарел, вместо firebug вы хотите использовать Firefox Developer Edition который имеет Firebug-тип диагностики и встроенные инструменты.
Получить Firebug, или иным образом просмотреть исходный код страницы (щелкните правой кнопкой мыши на нем в Firefox и выберите "Просмотреть источник") и щелкните по каждому .таблицы стилей CSS, как указано в раздел HTML-страницы. В одной или другие из них вернут ошибку 404 или какую-либо другую ошибку.
каждый лист CSS находится в элемент в заголовке HTML.
пример:
просмотр исходного кода на этой странице даст кучу кода, в это :
это показывает, что в элементе link есть таблица стилей, и для вашей страницы/сайта, если вы щелкнете по всем этим (может быть несколько) и найдете тот, который дает вам конкретную ошибку.
обновление:
(Update) если я посмотрю на консоль инструментов разработчика в Firefox, она показывает все файлы css и говорит "HTTP/1.1 200 OK" против каждого файла.
поэтому вы должны искать на каждый из ваших CSS и связанных документов, чтобы увидеть, какой документ связывается с недостижимым ресурсом.
Это может быть очень конкретный крайний случай, но у меня была такая же ошибка без указания на то, на какой лист стилей жаловался Firefox. Оказывается, это был блокировщик рекламы, который я использовал. Когда я отключил блокировщик рекламы и перезагрузил свою страницу, ошибка исчезла.
Начинаю осваивать вёрстку и был бы рад если кто-нибудь поделился опытом.
Суть проблемы в том, что во всех браузерах microsoft edge / chrome / yandex все отображается корректно, но в FF почему-то нет стилей.
Не подгружаются CSS файл и картинки в FireFox
Код проверил, путь к файлу по разному писать пробовал. Не подгружается CSS файл и картинки в html.
HTML не видит файл CSS
Всем привет! Друзья, очень нужна помощь. Я начинающий программист , только изучаю всё. Решил.
Браузер не видит CSS файл
Здравствуйте, у меня возникла кое-какая проблема с подключение css файла. Браузер просто его не.
HTML файл не видит CSS стилей
Всем привет. Имеются 2 HTML-файла с блочной версткой, оба они индеентичны, разве что контент в них.
Golbah, для начала сократи путь до твоего css-файла в теге для этого вложи свой css-файл в одну и ту же папку где у тебя находиться твоя html-страница(как у меня на картинке).
И тогда сократи путь до:
Хорошим стилем считается, когда все файлы твоего сайта собраны в одной папке независимо от расширения файлов!
Хорошим стилем считается, когда все файлы твоего сайта собраны в одной папке независимо от расширения файлов!
Укажите относительный путь к css файлу. Ну или путь с указанием схемы доступа: file://D:/eremin/main/CSS/style_index.css
Добавлено через 1 минуту
А, сори- это не то, это для ссылок (чтобы они в Firefox работали). Но все равно, на будущее. Тебе это наверняка понадобится.
А с чего оно должно помочь? Во-первых, к чему применять это свойство? Во-вторых, css файл вообще не загружается, так как лиса его не находит и толку что-то прописывать в файле который не загружается?
Добавлено через 1 минуту
transition для ссылок? и что, они будут плааавно открываться? Это свойство для анимации используется, а не для того что-бы ссылки работали
MasterPage видит CSS файл частично
Я добавил в проект готовое меню из инета,стили запихнул в CSS файл,на MasterPage вставил ссылку на.
Firefox не видит JS
Добрый день! Подскажите, пожалуйста! Есть следующий код: <script type="text/javascript">.
Неадекватная css-анимация в Firefox
Ситуация такая: Имеется svg с несколькими фигурами, анимированными с помощью css. В опере и.
Не показываются CSS стили в Firefox
На некоторых сайтах (Stack Exchange network и этом сайте) "Basic page style" выглядит также, как и.
Отдельный CSS для Firefox
В чем цимес. Есть сайт. И там нужно отдельный CSS для мозиллы. Каким образом это можно реализовать.
Я пытаюсь обслуживать динамически генерируемые xml-страницы с веб-сервера и предоставить пользовательский, статический xslt с того же веб-сервера, который выгрузит обработку в клиентский веб-браузер.
до недавнего времени я отлично работал в Firefox 2, 3, IE5, 6 и Chrome. В последнее время, однако, что-то изменилось, и Firefox 3 теперь отображает только текстовые элементы в источнике.
источник страницы начинается следующим образом:
Я также пробовал его с application / xml в качестве типа контента, но это не имеет значения: - (
расширение веб-разработчика также показывает правильный сгенерированный источник, и если вы сохраните его и загрузите страницу в Firefox, он отобразится правильно.
версия Firefox, отображающая проблему, - 3.0.3
любые идеи, что я мог бы быть делаю не так?
отображение только текстовых элементов-это поведение, которое вы получите из пустой таблицы стилей XSL.
для меня это предполагает, что что-то подозрительное происходит с вашими выражениями xpath, и что xsl:template/@match атрибуты не соответствуют исходному документу.
вы не предоставляете достаточно информации для дальнейшей диагностики, поэтому это слепое предположение-все, что я могу предложить.
EDIT: оказалось, проблема заключалась в том, что IE и Chrome молча принимают nodeset в качестве аргумента длина строки, а ФФ3 не. Обратите внимание, что спецификация задает необязательный строковый аргумент и не указывает поведение с аргументом nodeset.
Если вы используете NoScript, это также отключает таблицы стилей XSL, пока вы Allow .
отвечая на мой собственный вопрос в свете последующего исследования. ddaa привести меня в правильном направлении.
Firefox кажется довольно суетливым с преобразованиями xslt. Дважды проверьте xslt, чтобы убедиться, что у него нет ошибок, которые IE и Chrome маскируют.
XML Spy-хороший, хотя и не дешевый продукт, который выделит ряд ошибок в xslt. Кажется, что он поднимает по крайней мере столько проблем, сколько рендерер Firefox делает.
кажется, вы не можете полагаться на расширение веб-разработчика, чтобы поднять проблему, к сожалению.
Я просто пишу здесь для потомства - у меня был тот же симптом, также Firefox 3. Однако в мой случае, проблема была в другом:
Firefox, кажется, действительно, действительно не нравится, когда файл XSL имеет подчеркивание _ в имя. Мой файл XSLT назывался чем-то вроде my_super_nice_xslt_which_loads_in_opera_and_ie.xsl .
Итак, люди, давайте не будем использовать подчеркивания. Используйте дефис (минус) : my-super-nice-xslt-which-loads-in-opera-and-ie.xsl .
затем он также загрузится в Firefox. Я думаю, отныне я буду использовать простые мертвые имена с буквами и цифрами. Вы знаете поговорку: "Один раз укушен, два раза застенчив". (в моем случае меня укусили дважды, но забыли в первый раз, так что на этот раз я застенчив в четыре раза.)
Читайте также: