I'm using Jade as a templating engine for my Express powered node.js application. Maybe it's late in night, but I can't figure out where empty style
element inserted in resulting HTML.
Live example: http://quotation-mark.herokuapp.com/ (noticed that <style type="text/css"></style>
at the very end of head
?)
app.set('views', settings.projectDir + '/views');
app.set('view engine', 'jade');
app.set('view options', {layout: false});
!!!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
extends layout
append content
h1= title
p Добро пожаловать в #{title}.
Even if there is no head
in template itself, there is one in browser (which is Chrome 19.0.1084.53), maybe browser adds something? Simple HTML page doesn't have it though:
<!DOCTYPE html>
<html>
<head>
<title>Test</title>
<style>h1{color:red;}</style>
</head>
<body>
<h1>Hi!</h1>
</body>
</html>
The HTML generated by your server doesn't actually have an empty <style>
block in it.
<!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>
Are you using any browser extensions like AdBlock? When AdBlock is turned on, I see that empty style block in every page I visit. Disabling the extension makes it go away.