Frage

Ich frage mich, wie ich CSS -Kommentare aus einem verknüpften Stylesheet lesen kann.

Ich habe dieses Beispiel CSS geladen über:

<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 */}

Ich teste dies in FF3. Das folgende JavaScript lautet die Regeln, lagt jedoch die Kommentare nicht in#test3.

window.onload = function(){
    s=document.styleSheets;
    for(i=0;i < s[0].cssRules.length;i++){
        alert(s[0].cssRules[i].cssText);
    }
}
War es hilfreich?

Lösung

Sie können den Inhalt des Stylesheets abrufen und Regex verwenden, um die Kommentare zu analysieren. In diesem Beispiel wird JQuery verwendet, um den Stylesheet -Text und einen regulären Ausdruck zu erhalten, um die Kommentare zu finden:

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

Sie können auch die Stylesheet -Links mit Selektoren finden.

Andere Tipps

Kommentare werden fast immer von einem Dolmetscher ignoriert und daher nicht verfügbar.

Sie können mit einer AJAX -Abfrage auf die CSS -Datei zugreifen und dann selbst die Ergebnisse analysieren, um nach Kommentaren zu suchen. Der Dolmetscher wird dann nicht in die Quere kommen.

Solange sich das CSS auf derselben Domäne wie die Seite befindet, funktioniert dies gut.

Sie können nicht, das ist der ganze Punkt der Kommentare.

Sie können das CSS -Datei JavaScript nicht lesen, sondern nur die Ergebnisse im DOM inspizieren. Eine mögliche Möglichkeit könnte darin bestehen, ein eingebettetes Stylesheet zu verwenden, in dem Sie den Textinhalt des Style -Tags über die DOM -Schnittstelle abfragen können. Sie müssen den Inhalt natürlich für sich selbst analysieren.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top