我正在尝试输出一些包含
的HTML视频标签<source src="${Model.WebMFilename}" type='video/webm; codecs="vp8, vorbis"' />
但是在浏览器中,这会呈现为
<source vorbis""="" vp8,="" type="video/webm; codecs=" src="VP8_645001.webm"></source>
知道如何阻止Sparkview重新格式化输出吗?
答案 0 :(得分:2)
你确定你的输出吗?我通过源代码中的单元测试运行了这个确切的场景,我得到了以下内容:
输入:
<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'" />
希望有所帮助,
罗布
答案 1 :(得分:0)
我设法通过包装单引号获得所需的输出!{“'”}所以
<source src="${Model.WebMFilename}" type=!{"'"}video/webm; codecs="vp8, vorbis"!{"'"} />
渲染
<source src="VP8_645001.webm" type='video/webm; codecs="vp8, vorbis"' />