0
我產生一些HTML與web2py gluon html
庫(應用程序是獨立的 - 沒有嵌入web2py的框架 - 只有採用gluon.html傭工)避免CDATA標籤
我加入一些風格給它。由於我通過電子郵件發送生成的html,因此我使用premailer預處理html。但premailer不接受CDATA
標籤:
cssselect.parser.SelectorSyntaxError: Expected selector, got <DELIM '<' at 0>
我已經採取了看膠子代碼,但我不明白這一點:
class STYLE(DIV):
tag = 'style'
def xml(self):
(fa, co) = self._xml()
# no escaping of subcomponents
co = '\n'.join([str(component) for component in
self.components])
if co:
# <style [attributes]><!--/*--><![CDATA[/*><!--*/
# style body
# /*]]>*/--></style>
return '<%s%s><!--/*--><![CDATA[/*><!--*/\n%s\n/*]]>*/--></%s>' % (self.tag, fa, co, self.tag)
else:
return DIV.xml(self)
目前我在做什麼來建立我的風格是:
STYLE('body { font: normal 16px/1.6em "Open Sans",Arial,Helvetica,sans-serif; } ... ')
主要生產:
<style>
<!--/*-->
<![CDATA[/*><!--*/
body {
font: normal 16px/1.6em "Open Sans",Arial,Helvetica,sans-serif;
}
...
如何使用STYLE
幫手來避免使用CDATA
標籤?或者我需要使用XML
幫手,手動添加<style>
分隔符?
作爲一個問題:爲什麼要使用CDATA
標籤?據我所知,it is not really needed爲HTML
(腳本和樣式標籤已經默認爲CDATA
)。
謝謝!我最終手動放置了樣式標籤。我仍然想知道爲什麼使用CDATA的web2py,因爲如我的問題所述,它不是真的需要html(或者我錯了嗎?) – dangonfast
隨意[post and issue](https://code.google.com/ p/web2py/issues/list)。 – Anthony