2013-01-11 5 views
0

내 WordPress 사이트의 일부/게시물은 꽤 길어지고 사이드 바는 공백이있는 것처럼 보이는 구피처럼 보입니다. 또한 빈 공간은 광고 할 기회가 없습니다. 그래서, 내가 뭘하려는 건 #main의 높이를 결정하고 # 사이드 바의 높이가 대략 같을 때까지 동적으로 Adsense 스크립트를 추가하는 자바 스크립트를 사용하는 것이다 (다른 광고 세트는 맞지 않는다).동적으로 Wordpress 사이드 바에 애드 센스를 추가하십시오.

offsetHeight를 사용하여 두 div의 높이를 가져 오는 방법을 결정했습니다 (완벽하다고는 생각하지 않습니다). 그리고 do/while을 실행하는 논리는 분리 된 div의 높이가 같을 때까지 이해합니다. .

애드 센스 코드는 두 부분으로 나뉩니다. 첫 번째 부분은 일부 변수를 설정하고 두 번째 부분은 일부 코드를 호출하며 첫 번째 부분의 변수를 사용한다고 가정합니다. adsense가 광고를 표시하려면 둘 다 필요합니다. 둘 다 두 번 이상 나타나면 광고가 두 번 이상 표시됩니다. 별도의 .js 파일에 코드의 첫 번째 섹션을 버렸으므로 두 스크립트를 별도의 src 특성으로 호출하는 방법을 알아야합니다.

이 코드를 발견하고 (내 헤더에 넣어했습니다)하지만 (아무 것도 표시) 작동하지 않습니다 내 상황에 적응

:

var sidebar= document.getElementById('sidebar')[0]; 
var script1 = document.createElement("script"); 
script1.type = "text/javascript"; 
script1.src = "link/to/javascript/file.js"; 

var script2 = document.createElement("script"); 
script2.type = "text/javascript"; 
script2.src = "http://pagead2.googlesyndication.com/pagead/show_ads.js"; 

sidebar.appendChild(script1); 
sidebar.appendChild(script2); 

을 나는 위의 코드를 시도했습니다 내가 그것을 필요로하지 않았기 때문에 [0]없이. 어느 옵션도 작동하지 않습니다.

내가이 일을 수행하는 방법을 푸는 방법에 대한 아이디어가 있습니까? 코드를 실행하는 더 좋은 방법에 대한 아이디어. JohnnyO에 의해 주어진

+0

'document.getElementById ('sidebar')'는 DOM 노드 (또는'null')를 반환합니다. 그것은 배열이 아닙니다. '[0]'을 사용하면 올바르지 않습니다. – Halcyon

+0

그게 내가 생각하기에 그래서 나는 [0]없이 시도했지만 그것도 작동하지 않았다. –

답변

0

이 솔루션은 여기

Dynamic Adsense Insertion With JavaScript 나를 위해 잘 일했다. 문제는 Google 스크립트의 document.write() 메소드 때문입니다. 페이지가로드 된 후 write() 메서드가 작동하지 않습니다.

관련 문제