sss.loadAndRegisterSheet(UriPath, sss.USER_SHEET);
О-о, с этой функцией (и несколькими другими ей подобными) есть одна интересная проблема, над которой я совсем недавно бился, но так ответа и не нашёл.
Для файлов .css важен порядок, в котором они загружаются.
А у каждого окна Chrome есть свойство styleSheets - массив, в котором находятся все используемые стили, причём именно в порядке их загрузки в документ.
Но внезапно оказалось, что в этом массиве находятся только те стили, которые браузер встретил при разборе исходников документа. А те, которые загружены этой функцией, в массив не попадают. А ведь после такой программной загрузки стиля могут быть добавлены и какие-то другие, но уже способом, который их в массив занесёт. И моментально становится важным - где же в "очереди на применение" стоят те, которых в массиве нет.
Программно определять, что интересующий меня "невидимый" стиль в документ загружен, я научился, но вопрос об очерёдности так и остался открытым.
(В той моей ситуации я выкрутился с помощью конструкций вида:
document.lastChild.before(document.createProcessingInstruction( "xml-stylesheet", 'href="' + css + '"' ));
- после них .css-ы в массив попадали, причём именно в том порядке, в котором я их указывал.)
Отредактировано yup (Вчера 21:51:43)
На форуме
Я в chrome_debugger_profile никаких новых стилей не жду.
Это может оказаться неосмотрительным. То, что выглядит как единое окно отладчика (в смысле - Инструменты разработки и Инструменты браузера), на самом деле - куча отдельных компонентов, это можно легко увидеть с помощью самого этого отладчика. Каждый из этих компонентов загружается из своего собственного файла при первом переходе на соответствующую вкладку, и этот файл вполне может тянуть за собой какие-то стилевые файлы. (На предмет этого я отладчик не изучал.)
Вот и получается, что сначала будут загружены стили из userChrome (или те, которые скрипт назначит) и только после них те, которые вкладка с собой притащила. А у последних, как известно, приоритет перед всеми предыдущими.
(Там ещё, конечно, идёт градация по AUTHOR_SHEET, AGENT_SHEET, USER_SHEET, но смотреть, в какую категорию попадают стили из userChrome, у меня как-то повода никогда не было.)
Отредактировано yup (Сегодня 04:17:06)
На форуме
yup
Вроде как AGENT_SHEET должен быть. Но как видим у меня с ним проблемы. У меня стили это:
1. цвета заголовков правил, а то когда портянки мотаешь часто пролистываешь,
2. цвет scrollbar-ов, как в основном окне,
3. размер, прозрачность, цвета и значки в меню, как в основном окне,
4. прозрачность и цвета тултипов, как в основном окне.
Так что я думаю "Вы кладете это на немного толстого".
Отредактировано _zt (Сегодня 18:22:50)
Отсутствует
Вроде как AGENT_SHEET должен быть
Где-то здесь на форуме Dumby писал, что стили из userChrome.css проходят как USER_SHEET.
Впрочем, сейчас это не сильно важно - ведь при втором открытии окна стили применяются.
Для окон Инструменты разработки и Инструменты браузера используются одни и те же файлы - и .xhtml, и .css. Поэтому интересно, наблюдается ли та же проблема с окном Инструменты разработки.
Отредактировано yup (Сегодня 18:36:55)
На форуме