m0j*_*0hn 6 html xml markup groovy markupbuilder
我正在使用Groovy 1.8 XML MarkupBuilder来构建包含<script>标记的HTML页面.
当我在Firefox 18中加载页面时,我看到一个空白页而不是预期的结果.
这似乎是由于生成的<script>标签没有补充</script>标签,即使没有内容可以保证</script>标签.(参见:https://stackoverflow.com/questions/69913/why-dont-self-closing-script-tags-work)
样本Groovy代码:
def builder = new groovy.xml.MarkupBuilder( out )
builder.html {
head {
script( type:'text/javascript', src:'//example.com/example.js' )
}
body {
p("Hello...Newman.")
}
}
Run Code Online (Sandbox Code Playgroud)
如果我使用Firefox的"查看页面源"(Ctrl-U)检查(空白)呈现页面的HTML,我看到:
<html>
<head>
<script type='text/javascript' src='//example.com/example.js />
</head>
<body>
<p>Hello...Newman.</p>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
仔细观察,我看到<script ... />标签上的'/' 呈现为红色,'/'上的悬停文本表示在非空HTML元素上使用的"自闭语法("/>").忽略斜线和处理作为开始标记."
那么,如何<script>使用Groovy XML MarkupBuilder 生成有效的HTML 标记?
如果您定义了一些空内容,那么脚本标记将具有单独的结束标记:
script( '', type:'text/javascript', src:'//example.com/example.js' )
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5301 次 |
| 最近记录: |