2012-06-06 81 views
3

我使用Jade作爲我的Express支持的node.js應用程序的模板引擎。也許是在深夜,但我不知道在結果HTML中插入了哪個空元素styleJade將`style`元素添加到`head`

活生生的例子:http://quotation-mark.herokuapp.com/(注意到<style type="text/css"></style>head盡頭?)


快車模板設置:

app.set('views', settings.projectDir + '/views'); 
app.set('view engine', 'jade'); 
app.set('view options', {layout: false}); 


layout.jade

!!!html 

include /helpers/css.jade 

html(lang='ru') 
    head 
    meta(http-equiv='content-type', content='text/html; charset=utf-8') 
    noscript 
     meta(http-equiv="refresh", content="0; url=/noscript") 

    title= title 

    block css 
     mixin css('/css/bootstrap/bootstrap.css') 


    body 
    block content 


指數.jade

extends layout 

append content 
    h1= title 
    p Добро пожаловать в #{title}. 


我檢查了幾次,但似乎一切都還好(代碼模板,驗證)。不是線索......是否應該發生?我錯了嗎?

即使模板本身沒有head,在瀏覽器中有一個(Chrome 19.0.1084.53),也許瀏覽器添加了一些東西?簡單的HTML頁面沒有它,但:

<!DOCTYPE html> 

<html> 

<head> 
<title>Test</title> 
<style>h1{color:red;}</style> 
</head> 

<body> 
<h1>Hi!</h1> 
</body> 

</html> 

回答

10

由服務器生成的HTML它實際上並沒有一個空<style>塊。

<!DOCTYPE html><html lang="ru"> 
<head> 
<meta http-equiv="content-type" content="text/html; charset=utf-8"> 
<noscript><meta http-equiv="refresh" content="0; url=/noscript"></noscript> 
<title>«Кавычки»</title> 
<link rel="stylesheet" href="/css/style.css"> 
</head> 
<body> 
    <h1>«Кавычки»</h1><p>Добро пожаловать в «Кавычки».</p> 
</body> 
</html> 

您是否正在使用AdBlock之類的瀏覽器擴展?當AdBlock打開時,我看到每個我訪問的頁面中的空白樣式塊。禁用擴展使其消失。

+0

哦......你說得對。非常感謝,現在我可以平靜地去睡覺:) – elmigranto

+1

謝謝!這讓我瘋狂。無法弄清楚它來自哪裏。 – mrydengren

+0

即將成爲我檢查的最後一件事謝謝你! – kequc