我刚刚开始看看Ember.js,并且我遇到了包含模板化属性的把手模板的问题:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" />
<script type="text/javascript" src="js/handlebars-1.0.0.beta.6.js" />
<script type="text/javascript" src="js/ember-1.0.pre.js" />
<script type="text/x-handlebars" data-template-name="say-hello">
<p>First name: {{name.firstName}}</p>
<p>Last name: {{name.lastName}}</p>
<p>Last full: {{name.fullName}}</p>
<a href="#" {{action "edit" on="click"}}>Edit</a>
</script>
</head>
<body>
<h2>Hello World!</h2>
</body>
</html>
我在Chrome中遇到错误:
This page contains the following errors:
error on line 14 at column 10: error parsing attribute name
Below is a rendering of the page up to the first error.
我在Firefox中也遇到错误。
我想这是浏览器试图验证文档,有没有办法避免这种情况并仍然保留doctype?
答案 0 :(得分:0)
我怀疑XHTML doctype是个问题。您是否尝试过使用HTML 5 doctype <!DOCTYPE html>
?
答案 1 :(得分:0)
看起来把手模板无效xhtml。
tomcat与我的文件一起发送的内容类型是(application / xhtml + xml)。当您在文档上使用扩展名.xhtml时会发生这种情况。
当发生这种情况时,文档中的文档类型是什么,xhtml验证在文档中发生,并且无法加载,这没有任何区别。
在我的情况下,我想我可以预编译把手模板,使其在xhtml中工作。