2010-06-28 3 views
1

jQuery 용 플러그인을 작성하여 JavaScript의 출력을 컨테이너 div에 복사했습니다.jQuery로로드 된 페이지 다음에 광고로드

<div id="ad_loader_4" class="ads_loader"></div> 

그 div의의 ID가 컨테이너를 가리 :처럼 보이는 권할 div를 내

는 그래서는 페이지 하단에 광고 JS를 넣어 (그래서 그들은 페이지로드 속도가 감소하지 않습니다) divs. 컨테이너 div의는 다음과 같습니다 페이지 끝 로딩

<div id="ad_4"></div> 

JQuery와 플러그인 대기하고 눈에 보이지 않는 div의에서 생성 컨테이너 사업부로 추가 모든 요소를 ​​잡고. 다른 광고 프로그램 애드 센스에 ... FF와 크롬과 IE8에서 잘 작동과 기능을 연결

(function($) { 
// jQuery plugin definition 
$.fn.adsLoader = function(params) { 
    // merge default and user parameters 
    params = $.extend({}, params); 
    // traverse all nodes 
    this.each(function() { 
     // express a single node as a jQuery object 
     var $t = $(this); 
     // find id 
     var id = $t.attr('id'); 
     id = id.substring(10,id.length); 
     $t.children().not('script').appendTo("#ad_"+id); 
    }); 
    // allow jQuery chaining 
    return this; 
}; 
})(jQuery); 

...하지만 문제는 IE7에 시작 : 같은

JQuery와 플러그인 보인다 ... 어떤 이유로 인해 때로는 광고가 컨테이너에로드되고 때로는 그렇지 않은 경우가 있습니다 ...

플러그인에 문제가 있습니까?

답변

0

나는 조금 단순화했다.

(function($) { 
// jQuery plugin definition 
$.fn.adsLoader = function() { 
    // traverse all nodes 
    this.each(function() { 
     // get ad id and replace 
     var id = this.id.substr(10); 
     $("#ad_"+id).replaceWith(this); 
    }); 
    // allow jQuery chaining 
    return this; 
}; 
})(jQuery); 

참고 : 하단 div가 숨겨져있는 경우 빈 div를 교체 한 후에 표시해야 할 수 있습니다.

+0

모든 광고 프로그램이 document.write를 사용하여 자바 스크립트에 있기 때문에 작동하지 않습니다. 그래서 모든 페이지에 글을 쓸 것입니다. 이것이 플러그인 스크립트 태그를 이스케이프 처리하는 이유입니다 ... – CaTz

관련 문제