Как получить комментарии CSS с помощью jQuery? - PullRequest
4 голосов
/ 31 декабря 2008

Мне интересно, как я могу читать комментарии 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);
    }
}

Ответы [ 5 ]

8 голосов
/ 31 декабря 2008

Вы можете получить содержимое таблицы стилей и использовать регулярные выражения для анализа комментариев. В этом примере используется jQuery для получения текста таблицы стилей и регулярное выражение для поиска комментариев:

jQuery.get("test.css", null, function(data) {
    var comments = data.match(/\/\*.*\*\//g);
    for each (var c in comments) 
        alert(c);
});

Вы также можете найти ссылки на таблицы стилей с помощью селекторов.

4 голосов
/ 31 декабря 2008

Вы можете получить доступ к файлу CSS с помощью AJAX-запроса, а затем проанализировать результаты самостоятельно в поисках комментариев. Тогда переводчик не будет мешать.

Пока CSS находится в том же домене, что и страница, это будет хорошо работать.

4 голосов
/ 31 декабря 2008

Комментарии почти всегда будут игнорироваться переводчиком и поэтому не будут доступны.

2 голосов
/ 31 декабря 2008

Нельзя, вот и весь смысл комментариев.

0 голосов
/ 31 декабря 2008

Вы не можете прочитать файл CSS JavaScript, просто проверьте результаты в DOM. Одним из возможных способов может быть использование встроенной таблицы стилей, где вы можете запрашивать текстовое содержимое тега стиля через интерфейс DOM. Разумеется, вы должны анализировать контент для себя.

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