हम आलसी लोड OpenX के कोड। पृष्ठ के शीर्ष पर सिंगल-पेज कॉल डालने के बजाय, हम इसे नीचे रख देते हैं। पृष्ठ लोड होने के बाद, कॉल बैनर डेटा प्राप्त करेगा और एक कस्टम कोड सही क्षेत्र में सही बैनर जोड़ देगा।
नीचे दिए गए कोड को उचित डॉम की आवश्यकता है। यदि आपके पास jQuery, DOMAssistant, FlowJS, आदि हैं, तो DOM आपके लिए तय किया जाना चाहिए। यह कोड छवियों, फ़्लैश, या एचटीएमएल सामग्री के साथ सामान्य बैनर के साथ काम करेगा। यह कुछ मामलों में काम नहीं कर सकता है जैसे बाहरी प्रदाताओं (विज्ञापन, आदि) से बैनर का उपयोग करते समय। इसके लिए आपको थोड़ा सा कोड हैक करने की आवश्यकता हो सकती है।
इसका उपयोग कैसे करें?
- अपने HTML कोड
- के अंत में अपने SinglePageCall कोड जोड़ने के लिए छठे वेतन आयोग कोड के तहत इस कोड जोड़ें।
- आधा सेकेंड या उसके बाद, आपका ओपनएक्स कोड तैयार होना चाहिए, और नीचे दिया गया कोड बैनर को निर्दिष्ट डीआईवी में रखेगा।
- ओह, हाँ, आपको अपने एचटीएमएल कोड में कुछ डीवी को अपने बैनर के लिए प्लेसहोल्डर के रूप में जोड़ना होगा। डिफ़ॉल्ट रूप से मेरे पास इन बैनर सीएसएस वर्ग "छिपे हुए" के साथ सेट हैं जो पूरी तरह से डीआईवी (दृश्यता, प्रदर्शन और ऊंचाई के साथ) को छुपाता है। फिर, दिए गए डीआईवी में बैनर सफलतापूर्वक लोड होने के बाद, हम छिपे हुए वर्ग को हटाते हैं और डीआईवी (और भीतर बैनर) दिखाई देते हैं।
अपने जोखिम पर उपयोग करें! :) आशा है कि यह मदद करता है
(function(){
if (!document || !document.getElementById || !document.addEventListener || !document.removeClass) {
return; // No proper DOM; give up.
}
var openx_timeout = 1, // limit the time we wait for openx
oZones = new Object(), // list of [div_id] => zoneID
displayBannerAds; // function.
// oZones.<divID> = <zoneID>
// eg: oZones.banner_below_job2 = 100;
// (generated on the server side with PHP)
oZones.banner_top = 23;
oZones.banner_bottom = 34;
displayBannerAds = function(){
if(typeof(OA_output)!='undefined' && OA_output.constructor == Array){
// OpenX SinglePageCall ready!
if (OA_output.length>0) {
for (var zone_div_id in oZones){
zoneid = oZones[zone_div_id];
if(typeof(OA_output[zoneid])!='undefined' && OA_output[zoneid]!='') {
var flashCode,
oDIV = document.getElementById(zone_div_id);
if (oDIV) {
// if it's a flash banner..
if(OA_output[zoneid].indexOf("ox_swf.write")!=-1)
{
// extract javascript code
var pre_code_wrap = "<script type='text/javascript'><!--// <![CDATA[",
post_code_wrap = "// ]]> -->";
flashCode = OA_output[zoneid].substr(OA_output[zoneid].indexOf(pre_code_wrap)+pre_code_wrap.length);
flashCode = flashCode.substr(0, flashCode.indexOf(post_code_wrap));
// replace destination for the SWFObject
flashCode = flashCode.replace(/ox\_swf\.write\(\'(.*)'\)/, "ox_swf.write('"+ oDIV.id +"')");
// insert SWFObject
if(flashCode.indexOf("ox_swf.write")!=-1){
eval(flashCode);
oDIV.removeClass('hidden');
}// else: the code was not as expected; don't show it
}else{
// normal image banner; just set the contents of the DIV
oDIV.innerHTML = OA_output[zoneid];
oDIV.removeClass('hidden');
}
}
}
} // end of loop
}//else: no banners on this page
}else{
// not ready, let's wait a bit
if (openx_timeout>80) {
return; // we waited too long; abort
};
setTimeout(displayBannerAds, 10*openx_timeout);
openx_timeout+=4;
}
};
displayBannerAds();
})();
देखना है http://stackoverflow.com/questions/3106782/openx-aysnc-tags –