2010-08-12 3 views
10

그래서 추적 추적 회사에서 실행 링크가 필요하며 헤드 태그에있었습니다 ... 발사 할 예정입니다.html 이미지 태그가 헤드 태그에서 실행됩니까

<head> 
    <img width=1 height=1 src='http://track.searchignite.com/si/CM/Tracking/TransactionTracking.aspx?siclientid=4426&DetailDescription=935626&transactionamount=1&SICustTransType=19172&jscript=0&x10=goog&x9=1&x8=935626&x7=777+665-9999&x6=jones&x5=matt&x4=&x3=Camarillo&x2=Oxnard%2C+CA+Metro+Area&x1=Hidden+Springs&n1=Austin--Bedroom--austin_1_bedroom_apartments-P'> 
</head> 
+2

정밀도를 위해서 ... HTML이 실행되지 않고 해석됩니다. – nico

답변

13

하지 않아야합니다. 사양은 말합니다 :

사용자 에이전트는 일반적으로 콘텐츠와 HEAD에 표시 요소를 렌더링하지 않습니다.

는 참조 spec

그러나 브라우저는 그들이 원하는 모든 작업을 수행 할 수 있습니다.

추가 :

사양에있는 느슨한 부분입니다. 예 : 브라우저가 수 :

  • 는 요소를 자사의 서버에서
  • 로드 이미지를 무시 요소
  • 렌더링하지만 그것을
  • 또는 뭔가 다른

... 그리고 렌더링 브라우저가 호환됩니다.

그래서

5

예. FireFox 및 Chrome에서 테스트를 받았으며 요청되었습니다.

+2

NB : Hacky hacky hacky – meawoppl

2

웹 브라우저가 실제로 이미지를로드합니다 ... 당신의 마음에 드는 브라우저가 수행 한 다음 원하는대로 정보를 사용하여 무엇을 참조하십시오. 나는 src 속성이 실제 이미지를로드하지 않아 웹 페이지 자체에 깨진 이미지로 나타나기 때문에 문서의 head에 배치하는 것이 좋습니다. head에 있기 때문에 호출되지만 페이지에는 렌더링되지 않습니다.

실제로 브라우저는 페이지를로드하는 동안 이미지의 src 속성 URL에 대해 GET 요청을 수행하기 때문에 비동기 스크립트 호출과 같은 역할을합니다.

5

브라우저에 따라 다릅니다. 코드가 올바르지 않으며 잘못된 코드를 처리하는 방법에 대한 표준이 없으므로 각 브라우저에서이를 이해하려고 시도합니다.

나는 대부분의 브라우저가 태그 수프 모드로 바뀌고 가능하면 보여줄 것이라고 생각하지만, 일부 브라우저는 이미지를 무시할 수도 있습니다.

페이지의 나머지 부분에서 잘못된 코드가하는 일도 있습니다. 브라우저가 코드를 구문 분석하는 방법을 변경하면 올바른 코드에 부정적인 영향을 미칠 수 있습니다.

1

대부분의 브라우저는 규칙에 대해 신경 쓰지 않아 작동 할 수 있습니다. 그러나 표준을 준수하려면이 작업을해서는 안됩니다. (최소한 XHTML에서는 <img> 태그를 <head> 안에 넣는 것은 무효합니다.)

1

기술적으로는 그렇습니다.하지만 HTML/JS 호출에 넣는 것이 훨씬 낫습니다.

HTML 당신은 당신의 URL 매개 변수의 나머지 부분을 통과 할뿐만 아니라 "tiggerLink"기능에 변수를 추가 할 수 있습니다

<body onload="triggerLink('4426');"> 

JAVASCRIPT

function triggerLink(var1){ 
    var receiveReq = getXmlHttpRequestObjectShipping(); 
    var url= 'http://track.searchignite.com/si/CM/Tracking/TransactionTracking.aspx?siclientid=' + var1; 

    if (receiveReq.readyState == 4 || receiveReq.readyState == 0) { 
     receiveReq.open("POST", url, true); 
     receiveReq.onreadystatechange = handleLink; 
     receiveReq.send(null); 
    } 
} 
function handleLink(){ 
    //Do This when request finished 
} 

.

0

<img> 태그 대신 <script> 태그를 사용하는 것이 좋습니다. 그렇다면 브라우저가 url을 요청하는지 의문의 여지가 없습니다. 스크립트 오류를 ​​일으킬 수있는 어떤 것도 반환하지 않도록하십시오.

+1

하지만 JS를 사용하여 사용자를 추적하려고합니다. –

0

나는 스타일로에 link를 사용하여 지정하는 경향 것 :

<link rel="stylesheet" type="text/css" src="http://track.searchignite.com/si/CM/Tracking/TransactionTracking.aspx?siclientid=4426&DetailDescription=935626&transactionamount=1&SICustTransType=19172&jscript=0&x10=goog&x9=1&x8=935626&x7=777+665-9999&x6=jones&x5=matt&x4=&x3=Camarillo&x2=Oxnard%2C+CA+Metro+Area&x1=Hidden+Springs&n1=Austin--Bedroom--austin_1_bedroom_apartments-P">

모든 경우 TransactionTracking.aspx 반환 빈 콘텐츠를 확인해야한다.

2

예, 브라우저는 img 리소스를로드하려고 시도하지만 이는 즉시 명확하지 않습니다. 이 가정

브라우저의 파서가 <img> 요소는 그것이 때문에, 표시 가능한 컨텐츠를 발생 단순히 </head><body> 태그 (이러한 HTML에서 선택 사항 기억) 추론 있다고 생각합니다을보고 텍스트/HTML로 제공됩니다 <img>은 실제로 head 요소가 아니라 body 요소에 있습니다.

방화범이 끌리는 도구를 사용하거나 http://software.hixie.ch/utilities/js/live-dom-viewer/과 같은 DOM을 검사하는 다른 방법을 사용하는 경우이 경우를 직접 확인할 수 있습니다.

img가 본문이므로 브라우저는 정상적인 <img> 요소와 다른 것으로 간주하지 않습니다.

0

대부분의 최신 브라우저는 머리와 몸을 움직여 몸 안의 보이는 콘텐츠를 남깁니다. (당신은 검사관에서 그것을 볼 수 있습니다). 자바 스크립트가있는 경우를 대비하여 Google이 noscript 태그 내부의 픽셀 추적 시스템으로 사용하므로 (스크립트 전체와 함께 전체 코드를 배치하는 것이 좋습니다) 매우로드가 많이 걸릴 것 같습니다. 지원되지 않습니다.

0

width=1 height=1을 설정하는 대신 렌더링을 방해하거나 레이아웃에 영향을주지 않도록 style="display:none"으로 설정합니다.

모든 브라우저는 display:none으로 헤더의 이미지를 요청합니다.

I는 그것을 체크인

:

  • MS 에지 13
  • IE : 8, 9, 10, 11
  • 사파리 9 6
  • FF 25, 47 및 49
  • 크롬 : 51
관련 문제