Чтение внешних CSS с использованием Java Script - PullRequest
1 голос
/ 01 ноября 2011

, поэтому, если есть внешний CSS-файл, такой как:

<link rel='stylesheet' type='text/css' href='test.css'>  

и мы хотим прочитать таблицу стилей, используя javascript, мы можем сделать это следующим образом:

document.styleSheets[0].cssRules[0].cssText; (for example for first rule)

Он отлично работает в Firefox, но то же выражение выдает ошибку в Chrome, с чем-то вроде Type Error: "non_object_property_load".

В чем может быть проблема и как мы можем прочитать таблицу стилей в Chrome?

Пожалуйста, посмотрите на проблему, с которой я столкнулся:

http://s4.postimage.org/x5q0xt1vh/file.png  

РЕДАКТИРОВАТЬ: Таким образом, проблема возникает, когда тестовый файл и связанный css размещены локально в системе и не доступны через веб-сервер.

Ответы [ 3 ]

1 голос
/ 02 ноября 2011

Хорошо, я нашел проблему.Это действительно было связано с безопасностью, которая работает, если внешний CSS находится в том же каталоге для Firefox, но не работает для Chrome.
Если файл CSS находится в другом каталоге или онлайн, он не будет работать и в Firefox.

Теперь, чтобы решить эту проблему, я запустил Chrome с аргументами --allow-file-access-from-files, и теперь он работает отлично, как и должно.

0 голосов
/ 01 ноября 2011

Это работает в Chrome (не менее 14):

document.styleSheets[0].cssRules[0].cssText

Это даст вам правило.При этом:

document.styleSheets[0].cssRules[0].cssText[0]

выдаст вам первую букву первого правила.

0 голосов
/ 01 ноября 2011

http://www.quirksmode.org/dom/w3c_css.html - похоже, что .cssText не поддерживается в Chrome

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...