content: attr()
行被caja編譯器剝離。嘗試使用Caja Playground上的代碼片段,然後檢查呈現結果,這應該更好地表示HTML服務器在從Google Apps腳本服務時如何進行消毒,而不是在jsfiddle中獲得的結果。
下面是呈現:
<caja-v-html>
<caja-v-head>
<style>
.CajaGadget2___ caja-v-test:after{
display:inline-block;
font-weight:bold;}
</style>
</caja-v-head>
<caja-v-body>
<caja-v-test data-caja-data-hidden="Now you don't">Now you see me </caja-v-test>
</caja-v-body>
</caja-v-html>
的<test>
標籤的data-hidden
屬性生存,但沒有content
屬性的風格包含它。這可能是因爲attr()
聲明似乎是一個攻擊媒介。 (example)
如果我們用一個恆定content
再試一次,它生存哄騙:
<caja-v-html>
<caja-v-head>
<style>
.CajaGadget2___ caja-v-test:after{
content:"waffles"; <<<<<<
display:inline-block;
font-weight:bold;}
</style>
</caja-v-head>
<caja-v-body>
<caja-v-test data-caja-data-hidden="Now you don't">Now you see me </caja-v-test>
</caja-v-body>
</caja-v-html>
由於消毒的,你不會是能夠使attr()
這種方式工作。您可以在Caja Issue Tracker上輸入問題。
確實,attr被拒絕了[code review](https://codereview.appspot.com/7308092/diff/6002/src/com/google/caja/lang/css/css-extensions- defs.json#newcode169) 「拒絕ATTR(),因爲它規避了Domado屬性值 的虛擬化」, kpreid2 2013年2月13日二十點26分59秒 這在原則上是在某些情況下,靜態可確定的(雖然它會需要來自選擇器的上下文 )。雖然我們同意我們現在不需要它。 ihab.awad 2013/02/13 22:20:30完成。 這是一個遺憾,因爲我想 –
jetpax
使用它來實現一個響應表使用(http://codepen.io/geoffyuen/pen/FCBEg) – jetpax