2012-07-28 117 views
0

后添加运行此示例 '裸露的骨头' 自足示例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> 

通知在“a€<”字符。看起来像一个编码问题,但在另一个设置中,这些字符在所有页面上采用了新行的形式(这就是为什么我注意到这个问题)。

删除

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

线,使人物消失。

我对最新的Ember.js(master)和一个月前的版本有同样的问题。

其他人有这个问题吗?

+0

我不重现此:http://jsfiddle.net/Sly7/CUr4h/ – 2012-07-28 16:00:23

+0

我无法在jsfiddle上重现。如果你从本地文件系统尝试,该怎么办? – 2012-07-28 16:19:54

+1

看起来代码中有一个奇怪的字符。 @ pangratz的答案证实了这一点。 – 2012-07-28 23:23:16

回答

5

奇怪的是,它看起来像是通过在您提供的代码中在第23行结尾处尾随空字符来重现的。如果删除它,它也可以使用 - 也可以使用未使用的模板application

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

+0

我曾经遇到过这个问题,无法找到确切的解决方案。所有这一切发生时,我只是复制所有的HTML到一个新的文件,这些字符消失。 – MilkyWayJoe 2012-07-28 19:13:24

+0

非常感谢!它肯定通过复制/粘贴到达那里,我只是想知道为什么代码编辑不会帮助我们发现那些讨厌的东西:) – 2012-07-29 07:25:47