Ember.js,身体后添加了奇怪的人物

时间:2012-07-28 15:07:25

标签: javascript ember.js

运行此示例'裸骨'自包含示例

<html>
<head>
  <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
  <script type="text/javascript" src="http://cloud.github.com/downloads/wycats/handlebars.js/handlebars-1.0.0.beta.6.js"></script>
  <script type="text/javascript" src="http://dl.dropbox.com/u/3024625/ember.js"></script>
  <script type="text/javascript">
  $(window).load(function(){
    var App = Ember.Application.create({
      ready: function() {
        this.layout = App.ApplicationView.create();
        this.layout.appendTo('body');
      }
    });
    App.ApplicationView = Ember.View.extend({
      template: Ember.Handlebars.compile('<h1>Application</h1>')
    });
    App.initialize();
  });
  </script>

  <script type="text/x-handlebars" data-template-name="application">
    test
  </script>​
</head>
<body>
</body>
</html>

给出这个输出:

<body class="ember-application">​

<div id="ember129" class="ember-view"><h1>Application</h1></div></body>

注意“—字符。看起来像编码问题,但在另一个设置中,这些字符采用在整个页面上方的新行的形式(这就是我注意到问题的原因)。

删除

  <script type="text/x-handlebars" data-template-name="application">
    test
  </script>​

行,让角色消失。

我对最新的Ember.js(主人)也有同样的问题,而且还有一个月前的版本。

其他人有这个问题吗?

1 个答案:

答案 0 :(得分:5)

奇怪的是,看起来这是通过在提供的代码中第23行末尾尾随空字符来再现的。如果您将其删除,则可以使用未使用的模板application

我做了一些进一步的调查,看起来隐形字符是ZERO WIDTH SPACE,请参阅http://www.ltg.ed.ac.uk/~richard/utf-8.cgi?input=%26%238203%3B&mode=char