Как определить загруженность стилей CSS в Опере до загрузки DOM?
В юзерскрипте определяется наличие юзерстилей до того как document.body или его часть в Опере (12) появится. В других браузерах и в 11-й Опере в этом месте уже были элементы DOM и вычисляемые стили win.getComputedStyle(). В 11-й Опере такой проблемы не было. В 12-й юзерскрипты стали выполняться, видимо, раньше, но не хочется ради одного браузера менять структуру программы и переносить работу со стилями на более поздний срок. Нет ли способа определить наличие файла CSS в загрузке страницы иным способом, не через DOM?
Да, почти помогло — document.styleSheets в этот момент уже существует. Понадобилась пробежка по правилам, поиск юзерстилей (.href = null), удостоверение в том, что нужное правило написано. Но, как ни странно, хотя все остальные стили подгружены, на момент опроса юзерстили не имеют списка правил. То есть, грузятся сначала скрипты, за ними стили.
Смена имени, по совету Aingis, помогает на этом этапе увидеть правила юзерстилей, но с таким доступом они там не нужны, хватает win.getComputedStyle и 2 строчек. Так что осталось в конце концов ручное прописывание пользователем подключённости стилей в случае скрипта не в файле не с расширением *.user.js.
Помогает минимальная задержка win.setTimeout(.., 10), и это бы работало, но требует изменить логику следования скриптов (все непосредственные, которым нужны стили, делать с сзадержкой) и тестировать во всех бр-рах. Так что попозже, может быть, будет.