2016-09-11 2 views
1

Piwik을 사용하여 내 블로그 방문자를 추적하고 있습니다.Piwik 추적 코드가 깨짐 HTML 유효성 검사

<!-- Piwik --> 
<script type="text/javascript"> 
    var _paq = _paq || []; 
    _paq.push(["setDomains", ["*.example.com"]]); 
    _paq.push(['trackPageView']); 
    _paq.push(['enableLinkTracking']); 
    (function() { 
    var u="//example.com/pwt/"; 
    _paq.push(['setTrackerUrl', u+'piwik.php']); 
    _paq.push(['setSiteId', '1']); 
    var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; 
    g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'piwik.js'; s.parentNode.insertBefore(g,s); 
    })(); 
</script> 
<noscript><p><img src="//example.com/pwt/piwik.php?idsite=1" style="border:0;" alt="" /></p></noscript> 
<!-- End Piwik Code --> 

그들은 닫는 </head> 태그 바로 앞에이 코드를 붙여 넣기하는 것이 좋습니다 다음은 Piwik 추적 코드입니다.

코드를 추가했는데 정상적으로 작동하지만 HTML 유효성 검사를 위반 한 것으로 나타났습니다. 기본적으로 <p> 또는 <img> 태그가 페이지 헤드에있는 것을 좋아하지 않습니다. <noscript> 섹션 전체를 페이지 본문으로 옮겨야합니까? Javascript가 사용 중지 된 사용자를 추적하지 못하나요? <noscript> 섹션이 자바 스크립트가 비활성화 된 브라우저에 표시되지 않는 경우 HTML Validator가 불만을 제기하는 이유는 무엇입니까?

감사합니다.

답변

3

<p><img> 태그는 페이지 헤드에 허용되지 않습니다. 물론 HTML 유효성 검사기는 불평해야합니다. 방문자가 스크립팅을 사용하도록 설정했는지 여부는 알 수 없습니다.

<noscript> 섹션을 닫고 </body> 태그 전에 옮깁니다. 이 섹션의 작동 방식은 누군가 JavaScript를 사용하지 않으면 작은 보이지 않는 이미지를 대신로드한다는 것입니다. Piwik은 방문으로로드되는이 이미지를 기록합니다 (이미지 소스는 Piwik PHP 스크립트 임).

2

https://developer.piwik.org/guides/tracking-javascript-guide

복사 및 페이지에 자바 스크립트 추적 코드를 붙여 그냥 개방 <body> 태그 뒤에 (또는 <head> 섹션 내)

당신이 <head>의 원하는 경우 거기에 <script> 블록을 넣고 <noscript> 블록을 <body> 상단에 놓습니다. 공식 문서에서 말한 것처럼, 코드 ​​블록 전체를 <body> 상단에 놓는 것은 괜찮습니다.

JavaScript가 비활성화 된 브라우저에서 섹션이 보이지 않는 경우 HTML 검사기가 불평하는 이유는 무엇입니까?

JS가 비활성화 된 브라우저는 여전히 유효한 HTML을 기대하는 브라우저이기 때문에.