2010-11-26 4 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(); 

자바 스크립트 :

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을 얻고 regexp합니다.

그러나 meta 요소 (머리 부분에있는 부분)와 같은 다른 요소를 추가하면 쉽게 얻을 수 있으며 getElementsByTagName() 및/또는 jQuery 등

관련 문제