Как я могу получить CSS-комментарии с помощью jQuery?
Вопрос
Мне интересно, как я могу читать CSS-комментарии из связанной таблицы стилей.
У меня есть этот образец CSS, загруженный через:
<link rel="stylesheet" type="text/css" media="all" href="test.css" />
#test1{ border:1px solid #000; }
#test2{ border:1px solid #000; }
#test3{/* sample comment text I'm trying to read */}
Я тестирую это в FF3.Следующий javascript считывает правила, но не читает комментарии в#test3
.
window.onload = function(){
s=document.styleSheets;
for(i=0;i < s[0].cssRules.length;i++){
alert(s[0].cssRules[i].cssText);
}
}
Решение
Вы могли бы извлечь содержимое таблицы стилей и использовать регулярное выражение для анализа комментариев.В этом примере используется jQuery для получения текста таблицы стилей и регулярного выражения для поиска комментариев:
jQuery.get("test.css", null, function(data) {
var comments = data.match(/\/\*.*\*\//g);
for each (var c in comments)
alert(c);
});
Вы также можете найти ссылки на таблицы стилей, используя селекторы.
Другие советы
Комментарии почти всегда будут игнорироваться переводчиком и поэтому будут недоступны.
Вы можете получить доступ к файлу CSS с помощью AJAX-запроса, а затем самостоятельно проанализировать результаты в поисках комментариев.Тогда переводчик не будет мешать.
Пока CSS находится в том же домене, что и страница, это будет работать нормально.
Вы не можете, в этом весь смысл комментариев.
Вы не можете прочитать CSS-файл JavaScript, просто просмотрите результаты в DOM.Одним из возможных способов может быть использование встроенной таблицы стилей, где вы можете запрашивать текстовое содержимое тега style через интерфейс DOM.Конечно, вы должны проанализировать содержимое для себя.