cssRules.length не работает в Хроме
Здравствуйте, форумчане! Вопрос такой, подключаю в <head> два файла со стилями:
<link rel="stylesheet" href="css/style.css"> <link rel="stylesheet" href="css/themes.css"> потом с помощью JS пытаюсь alert'oм вывести количество свойств у первого стиля: alert(document.styleSheets[0].cssRules.length) Проблема вот в чем: в Хроме и Опере alert не выводит, а в Лисе и даже в IE выводит!!!. PS. Если вставить содержимое первого стиля в сам документ, то во всех браузерах alert выводит. Но мне нужно только чтоб подключались внешние файлы с таблицами стилей. |
Загружай по HTTP и все будет работать. С file:/// всегда проблемы.
|
Действительно!Выложил на свой сайт!Заработало!)))Почему интересно локально не работает(((
|
Цитата:
|
Спасибо!
|
html с сетью никак не связан, браузеру пофигу откуда этот текст получать.
|
|
Цитата:
Цитата:
|
Не слушайте дятла, file не протокол, а схема, то есть по-нашему (схема в терминах http) - функция. Разница в том что по схеме http браузер получает сведения о приходящих данных в заголовках, а по схеме file - по метатегам в файле. То есть когда поток - заголовки, а когда файл - теги. Причем браузер может сам запихать туда какие надо меты, чтобы потом нормально открыть.
Проблема тут такая же, как с канвасом, в который локально ничего не запихаешь. Браузер не знает о домене, поэтому теряется в догадках и исходя из принципа лучше перебздеть - отключает некоторые фичи связанные с этой кроссдоменностью. Грамотный браузер должен понимать функцию file://, а неграмотный - тупит. Вот и все. |
Короче говоря браузер "думает" что вы открыли файл стилей с чужого сайта и хотите там что-то поменять, типа написать в ::after content:"bes - дятел", чтоб оно на том самом сайте и отобразилось.
|
Часовой пояс GMT +3, время: 03:16. |