So ganz verstehe ich das Problem nicht. Vielleicht stehe ich gerade auf dem Schlauch. ;)
Vermutlich - oder ich hab' die Sache nicht ausführlich genug beschrieben.
Auf das Wesentliche verkürzt:
alert(window.getComputedStyle(document.body,':after').getPropertyValue('content'));
Zuvor per CSS generierter Inhalt:
body::after { content: 'foo'; }
Erwartet: foo
Ergebnis "foo"
body::after { content: "foo"; }
Erwartet: foo
Ergebnis: "foo"
body::after { content: '"foo"'; }
Erwartet: "foo"
Ergebnis: ""foo""
body::after { content: "'foo'"; }
Erwartet: 'foo'
Ergebnis: "'foo'"
body::after { content: '\0066\006F\006F'; }
Erwartet: foo
Ergebnis: "foo"
Wo kommen die Double Quotes her, die das Ergebnis einschließen?
Das deckt sich übrigens auch nicht hiermit:
https://developer.mozilla.org/de/docs/DOM/window.getComputedStyle#Use_with_pseudo-elements
Da steht // returns ' rocks!'
Ergebnis wäre aber // returns '" rocks!"' sofern die Single Quotes hier zur Kennzeichnung des Werts sind.
Ergebnis in meinem Fall:
the generated content is: , " rocks!"
Wieder die Quotes da, obwohl die vorher nicht da waren:
http://jsfiddle.net/suit/CMSvG/
Firefox, Opera, IE, Chrome, Safari - überall dasselbe.