2012-07-28 130 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