2010-11-26 5 views
0

各ページのHEADセクションにコメントタグを追加するプロキシサーバーを作成しました。 JavaScriptファイル内にコメントが存在するかどうかを調べたいと思います。ヘッドセクションの内容を確認する方法

どのように達成できますか?ここで

は例のページです:

<html> 
    <head><!-- page is proxified --> 
    <title>Hello proxified world!</title> 
    </head> 
    <body> 
    <script type="text/javascript"> 
     // What to do here? 
    </script> 
    </body> 
</html> 

ありがとうございました!

イヴァン

答えて

1
var comment = '<!-- page is proxified -->', 
    commentPresent = document.getElementsByTagName('head')[0].innerHTML.indexOf(comment) !== -1 ? true: false; 

if (commentPresent) { 
    // code 
} 
1

のjQuery:

var headContents = $('head').html(); 

Javascriptを:

var headContents = document.getElementsByTagName('head')[0].innerHTML; 
+0

ありがとうございました! – friedkiwi

+0

'document.getElementsByTagName'は' innerHTML'プロパティを持たない 'NodeList'を返します。 'document.getElementsByTagName( 'head')[0] .innerHTML'を意味しますか? – eyelidlessness

+0

はい、申し訳ありません。 –

0

私は100%確実ではないです。しかしコメントはDOMに書かれていません。だから、xpathや他の何かによってそれを得ることは不可能であるはずです。

あなたは

document.getElementsByTagName('head').innerHTML; 

でhtmlタグの全体のコンテンツを取得し、正規表現を適用することができます。

他の可能性として、メタタグを追加することができます。これは少し簡単にjsで取得できます。

+0

場合があります document.getElementsByTagName( 'head')[0] .innerHTML; – thomasrutter

2

Javascriptを使用してコメントノードを読むことは可能ですが、ちょっと面倒です。 head要素を見つけて、その子ノードをループしてコメント(node.nodeType == 8)を探したり、他の人が指摘しているように、head.innerHTML全体を取得して正規表現したりする必要があります。

しかし、メタ要素(これも先頭に入ります)などの他の要素を追加することでこれを達成するのは簡単かもしれません。そして、getElementsByTagName()および/またはjQueryなど

関連する問題