2016-11-14 1 views
1

우리 회사는 광고 게재 대행사로부터 트래픽을 얻기를 원하며 Pixel 추적 코드를 제공하고 10 초 후에 웹 사이트에로드하도록 강요합니다. JS를 통해이 작업을 수행하려고하지만 여전히 실패합니다. 여기10 초 후에 픽셀 추적을로드하는 방법은 무엇입니까?

는 픽셀이 모습입니다 :

여기
`<img src="https://ext.example.com/conversion/?c=122959&a=30225" width="1" height="1" onerror="this.onerror=null;this.src='https://a248.e.example.net/9e0d7c940412d5badab847b855f8ac46.com/conv/'+this.src.substring(this.src.indexOf('?'));" />` 

내가 어떻게 뭘하려 :

var lines = "<img src="; 
var lines2="https://ext.example.com/conversion/?c=122959&a=30225"; 
var lines3=";this.src='https://a248.e.example.net/9e0d7c940412d5badab847b855f8ac46.com/conv/'+this.src.substring(this.src.indexOf('?'));";     
     setTimeout(function(){ 
      document.write(lines+'"'+lines2+'" width="1" height="1" onerror="this.onerror=null'+lines3+'" />'); 
     }, 10000); 

나는 때문에의 변수 사용 -> '< - 문자

10 초 후 모든 내용이 사라지고 소스 코드가 픽셀 코드 만 표시합니다.

리소스 소모가 적은 솔루션이 있습니까? 어떻게하면 10 초 후에 웹 페이지에서 Pixel을 실행할 수 있습니까?

+0

형식이 잘못된 HTML 일 수 있습니다. 예를 들어'src' 값 주위에 따옴표가 없습니다. 아래의 Dan의 예가 훨씬 더 깨끗합니다. 나는 그걸로 갈 것입니다. –

답변

2

10 초 후에 추적 픽셀을 <body>에 추가하는 순수 JavaScript 구현입니다.

window.onload = function() { 
    function addTrackingPixel() { 
    var pixel = document.createElement("IMG"); 
    pixel.setAttribute("src", "https://ext.example.com/conversion/?c=122959&a=30225"); 
    pixel.setAttribute("height", "1"); 
    pixel.setAttribute("width", "1"); 
    pixel.setAttribute("onerror", "this.onerror=null;this.src='https://a248.e.example.net/9e0d7c940412d5badab847b855f8ac46.com/conv/'+this.src.substring(this.src.indexOf('?'));"); 
    document.body.appendChild(pixel); 
    } 
    var timeout = setTimeout(addTrackingPixel, 10000); 
}; 
+0

대단히 감사합니다! –

관련 문제