2012-09-15 36 views
1

我剛開始來看看Ember.js時遇到與包含模板屬性車把模板的問題:Ember.js/Handlebars.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得到一個錯誤。

我想這是瀏覽器試圖驗證文件,有沒有什麼辦法可以避免這種情況,仍然保持文檔類型?

+0

嘿,我也是新來的。我認爲這個錯誤與doctype沒有任何關係。你在「say-hello」模板中有什麼代碼? – Aras

回答

0

它看起來像把手模板不是有效的xhtml。

tomcat與我的文件一起發送的內容類型是(application/xhtml + xml)。當您在文檔上使用擴展名.xhtml時,會發生這種情況。

發生這種情況時,文檔中的文檔類型無效,文檔中出現xhtml驗證,並且無法加載。

在我的情況下,我想我可以預編譯句柄模板,使其在xhtml中工作。

+0

XHTML是昨天。可能應該考慮繼續沒有它。 –

+0

有時我希望我可以,不幸的是我想嵌入一些遺留的網站,我不喜歡改變文檔類型或改變從xhtml到html的一切。 – Bryn

0

我懷疑XHTML文檔類型是問題。您是否嘗試過使用HTML 5 doctype <!DOCTYPE html>

+0

對不起,新來堆棧溢出,我跑了我的字符限制的答覆,請參閱下面的我的決議。 – Bryn