3

Expressを利用したnode.jsアプリケーションのテンプレートエンジンとしてJadeを使用しています。深夜かもしれませんがstyle、結果のHTMLのどこに空の要素が挿入されているのかわかりません。

実例: http: //quotation-mark.herokuapp.com/ ( ? <style type="text/css"></style>の最後にあることに気づきました)head


Expressのテンプレート設定:

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


index.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>
4

1 に答える 1

10

<style>サーバーによって生成されたHTMLには、実際には空のブロックが含まれていません。

<!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をオンにすると、アクセスするすべてのページに空のスタイルブロックが表示されます。拡張機能を無効にすると、拡張機能がなくなります。

于 2012-06-06T02:59:25.730 に答える