作为标题,以下SVG无法在Chrome和Mozilla中显示。
以下是我的代码:
document.write("<span style='color:red;'>Some Words...</span>
<svg height='100' width='100'>
<circle cx='50' cy='40' r='35' stroke='black' stroke-width='0' fill='#01916f' />
</svg>
<svg height='35' width='50'>
<text x='-80' y='-8' span style='font-weight:bold;font-size:50px;' fill='white'>" + daysLeft + "</text>
</svg>
<svg height='60' width='50'>
<text x='-60' y='7'><tspan dy='10' fill='red'>more days to go!</tspan></text>
</svg> ");
有什么问题?
答案 0 :(得分:1)
新行不允许作为JS字符串中的文字,但必须使用\n
进行编码。
为了提高可读性和可维护性,我建议将字符串拆分为单独的行,将它们连接成最终代码或逐行编写。
如果你这样做,你的动态内容在chrome 34和firefox 28中显示得非常好(直到文本框的尺寸不正确)。
有一种替代解决方案允许您以规范方式存储文档片段的词法表示。在MDN上使用数据岛(原始来源:xml data islands;本文仅讨论xml数据岛并引用mozilla。但是,此方法也适用于chrome和纯文本岛),即。类型script
(text/plain
)的application/xml
标记,其中包含您的html / svg / xml代码。这些部分可通过js访问。有1 1/2个缺点:
daysLeft
变量。查看两种变体的实时演示: