Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.11.2014, 19:35
Интересующийся
Отправить личное сообщение для horan Посмотреть профиль Найти все сообщения от horan
 
Регистрация: 28.11.2014
Сообщений: 13

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 выводит. Но мне нужно только чтоб подключались внешние файлы с таблицами стилей.
Ответить с цитированием
  #2 (permalink)  
Старый 28.11.2014, 19:53
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Загружай по HTTP и все будет работать. С file:/// всегда проблемы.
Ответить с цитированием
  #3 (permalink)  
Старый 28.11.2014, 20:06
Интересующийся
Отправить личное сообщение для horan Посмотреть профиль Найти все сообщения от horan
 
Регистрация: 28.11.2014
Сообщений: 13

Действительно!Выложил на свой сайт!Заработало!)))Почему интересно локально не работает(((
Ответить с цитированием
  #4 (permalink)  
Старый 28.11.2014, 20:34
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

Сообщение от horan
Действительно!Выложил на свой сайт!Заработало!)))Почему интересно локально не работает(((
потому что браузеры предполагают работу в сети, поставь локальный сервер и не придётся выкладывать на сервер хостера
Ответить с цитированием
  #5 (permalink)  
Старый 29.11.2014, 10:06
Интересующийся
Отправить личное сообщение для horan Посмотреть профиль Найти все сообщения от horan
 
Регистрация: 28.11.2014
Сообщений: 13

Спасибо!
Ответить с цитированием
  #6 (permalink)  
Старый 29.11.2014, 13:44
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

html с сетью никак не связан, браузеру пофигу откуда этот текст получать.
Ответить с цитированием
  #7 (permalink)  
Старый 29.11.2014, 13:50
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

bug https://code.google.com/p/chromium/i...etail?id=49001
Ответить с цитированием
  #8 (permalink)  
Старый 29.11.2014, 13:56
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

Сообщение от kostyanet
html с сетью никак не связан, браузеру пофигу откуда этот текст получать.
Сообщение от kostyanet
bug https://code.google.com/p/chromium/i...etail?id=49001
это не так, есть протокол передачи данных - есть реакция браузера, делать что-то для протокола file вообще смысла нет, поэтому к багам в этом отношении, предполагаю, отношение скептическое, но есть смысл реализовать собственный локальный сервер (устанавливаемый при установке браузера) с поддержкой используемых на боевом фронте протоколов
Ответить с цитированием
  #9 (permalink)  
Старый 29.11.2014, 14:13
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Не слушайте дятла, file не протокол, а схема, то есть по-нашему (схема в терминах http) - функция. Разница в том что по схеме http браузер получает сведения о приходящих данных в заголовках, а по схеме file - по метатегам в файле. То есть когда поток - заголовки, а когда файл - теги. Причем браузер может сам запихать туда какие надо меты, чтобы потом нормально открыть.

Проблема тут такая же, как с канвасом, в который локально ничего не запихаешь. Браузер не знает о домене, поэтому теряется в догадках и исходя из принципа лучше перебздеть - отключает некоторые фичи связанные с этой кроссдоменностью. Грамотный браузер должен понимать функцию file://, а неграмотный - тупит. Вот и все.
Ответить с цитированием
  #10 (permalink)  
Старый 29.11.2014, 14:17
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Короче говоря браузер "думает" что вы открыли файл стилей с чужого сайта и хотите там что-то поменять, типа написать в ::after content:"bes - дятел", чтоб оно на том самом сайте и отобразилось.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите, не работает скрипт калькулятора в Хроме и ИЕ Cooleraunt Opera, Safari и др. 3 14.04.2012 09:44
jQyery функция странно работает! Midel Общие вопросы Javascript 4 08.04.2012 13:40
В хроме не работает convi Events/DOM/Window 0 28.03.2012 14:14
Не работает RemoveFormat в хроме timkit Элементы интерфейса 0 27.01.2012 07:03
помогите найти ошибку (работает в IE но не работает в Firefox) Len4ik Javascript под браузер 2 11.05.2010 15:41