【问题标题】:Stop Sparkview escaping html停止 Sparkview 转义 html
【发布时间】:2011-09-13 20:28:24
【问题描述】:

我正在尝试输出一些 HTML 视频标签公园,其中包括

<source src="${Model.WebMFilename}" type='video/webm; codecs="vp8, vorbis"' />

但是在浏览器中它呈现为

<source vorbis""="" vp8,="" type="video/webm; codecs=" src="VP8_645001.webm"></source>

知道如何停止 Sparkview 重新格式化输出吗?

【问题讨论】:

    标签: spark-view-engine


    【解决方案1】:

    你确定你的输出吗?我通过源代码中的单元测试运行了这个确切的场景,我得到了以下结果:

    输入:

    <source src="${Model.WebMFilename}" type='video/webm; codecs="vp8, vorbis"' />
    

    结果:

    <source src="VP8_645001.webm"  type="video/webm; codecs="vp8, vorbis"" />
    

    这似乎是 Spark 中的一个“功能”,这在客户端框架、json 流行度和 HTML5 属性使用中变得越来越普遍。

    我所说的“功能”是 Spark 可以读取您的输入,并且您可以在属性周围加上单引号或双引号,它会毫无问题地理解属性内的值,但存在当前视图的副作用自动(并且错误地)用双引号而不是您实际使用的引号类型替换周围属性的编译。

    我目前正在源代码中解决此问题。同时,您可以尝试将双引号放在属性的外部并尝试将单引号放在内部,尽管我知道这确实会破坏一些客户端框架,因为它们不会期待那个。你可以试试这个吗(注意:单引号在里面):

    <source src="${Model.WebMFilename}" type="video/webm; codecs='vp8, vorbis'" />
    

    希望对您有所帮助,

    【讨论】:

    • 感谢您的回答,我认为这可能已经解决了,但是我设法通过将单引号 !{"'"} 正确地呈现给浏览器来解决这个问题。跨度>
    • 是的,这也可以——但看起来很糟糕 :) 如果你在 Github 网站上记录问题以获得 spark,那么我会在我修复错误后通知你,你可以删除所有这些变通方法无需更改任何其他内容:)
    • 谢谢,我今天晚些时候会这样做
    【解决方案2】:

    我设法通过包装单引号获得所需的输出 !{"'"} 所以

    <source src="${Model.WebMFilename}" type=!{"'"}video/webm; codecs="vp8, vorbis"!{"'"} />
    

    渲染

    <source src="VP8_645001.webm" type='video/webm; codecs="vp8, vorbis"' />
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-01-13
      • 1970-01-01
      • 1970-01-01
      • 2012-05-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-10
      相关资源
      最近更新 更多