Come posso ottenere commenti CSS con jQuery?
Domanda
Mi chiedo come posso leggere i commenti CSS da un foglio di stile collegato.
Ho caricato questo CSS di esempio tramite:
<link rel="stylesheet" type="text/css" media="all" href="test.css" />
& nbsp;
#test1{ border:1px solid #000; }
#test2{ border:1px solid #000; }
#test3{/* sample comment text I'm trying to read */}
Lo sto testando in FF3. Il seguente javascript legge le regole ma non legge i commenti in # test3
.
window.onload = function(){
s=document.styleSheets;
for(i=0;i < s[0].cssRules.length;i++){
alert(s[0].cssRules[i].cssText);
}
}
Soluzione
Puoi recuperare i contenuti del foglio di stile e usare regex per analizzare i commenti. Questo esempio usa jQuery per ottenere il testo del foglio di stile e un'espressione regolare per trovare i commenti:
jQuery.get("test.css", null, function(data) {
var comments = data.match(/\/\*.*\*\//g);
for each (var c in comments)
alert(c);
});
Puoi anche trovare i link del foglio di stile usando i selettori.
Altri suggerimenti
I commenti saranno quasi sempre ignorati da un interprete e pertanto non saranno disponibili.
È possibile accedere al file CSS utilizzando una query AJAX e quindi analizzare i risultati da soli alla ricerca di commenti. L'interprete non si metterà in mezzo allora.
Finché il CSS si trova sullo stesso dominio della pagina, funzionerà bene.
Non puoi, questo è l'intero punto dei commenti.
Non puoi leggere il file CSS JavaScript, basta controllare i risultati nel DOM. Un modo possibile potrebbe essere quello di utilizzare un foglio di stile incorporato, in cui è possibile eseguire una query sul contenuto testuale del tag di stile tramite l'interfaccia DOM. Devi analizzarne il contenuto, ovviamente.