0

运行此示例 'bare bone' 独立示例

<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 (master) 和一个月前的构建有同样的问题。

还有其他人有这个问题吗?

4

1 回答 1

5

奇怪,看起来这是通过您提供的代码中第 23 行末尾的尾随空字符复制的。如果您删除它,它也可以工作 - 也适用于未使用的模板application

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

于 2012-07-28T18:05:57.397 回答