2011-03-24 3 views
27

मैं केवल IE7 में त्रुटि हो रही है के रूप में document.body रिक्त है, wehn मैं डिबग माइक्रोसॉफ्ट स्क्रिप्ट संपादक follwing लाइन में त्रुटि मिल रही है: यानीdocument.body.appendChild (i)

document.body.appendChild (i) कोड:

function nm_eraseCookie(name){ 
    nm_createCookie(name,"",-1) 
} 
var i=document.createElement('IMG'); 
i.src='//e.netmng.com/pixel/?aid=403'; 
i.width=1; 
i.height=1; 
document.body.appendChild(i); 
nm_createCookie('nm_belgacom_bt', 
escape('tv1=bun_intvtel;tv2=;tv3=;phone1=hbs_discoveryline;phone2=hbs_classical_line;phone3=;inet1=bun_nettvmob;inet2=hbs_adsl_res_plus;inet3=hbs_adsl_res_go;nm_banner=;nm_popin=hbs_discoveryline;'),183); 

तुम मुझे infomr सकता है मैं इस समस्या को हल करने के लिए क्या करने की जरूरत।

+4

आप एक संस्करण है कि डिबग करने के लिए न्यूनतम किया गया नहीं है क्यों उपयोग नहीं करते हैं अंदर मेरे कोड के सभी डाल दिया? – alex

उत्तर

12

यह काम कर रहा है। बस शून्य जांच में संशोधित करें:

अगर (document.body! = Null) { document.body.appendChild (तत्व); }

पॉइंटी का सुझाव अच्छा है; यह काम कर सकता है, लेकिन मैंने कोशिश नहीं की।

50

आप

document.getElementsByTagName('body')[0].appendChild(i); 

की कोशिश कर सकते अब जब कि तुम किसी भी अच्छे से काम नहीं चलेगा, तो कोड <head> में चल रहा है, और चल से पहले <body> भी ब्राउज़र द्वारा देखा गया है। यदि आप "ऑनलोड" हैंडलर से गड़बड़ नहीं करना चाहते हैं, तो <head> के बजाय दस्तावेज़ के बहुत अंत में अपने <script> ब्लॉक को स्थानांतरित करने का प्रयास करें।

+3

'' में स्क्रिप्ट चलाने के लिए अच्छा इंगित करना। मुझे इस वजह से 'कॉल कॉल नहीं कर सकता' संलग्न करना 'शून्य' का बच्चा मिल रहा है। इसे दस्तावेज़ के अंत में ले जाने से इसे '' के रूप में ठीक किया गया था जब यह सिर में चल रहा था। – pbojinov

-4

मुझे पता है कि यह सिर्फ सादा जेएस के साथ नहीं है, लेकिन मेरे पास एक समान समस्या थी और मैंने jquery का उपयोग किया। मैं सिर्फ एक दस्तावेज़ तैयार() फ़ंक्शन

$(document).ready(function() { 
    //your code goes here 
}); 

मुझे आशा है कि यह मदद करता है

+0

समस्या का समाधान नहीं करता है। –