का उपयोग करते समय सभी शारीरिक सामग्री को प्रतिस्थापित करता है मैं एक साधारण AJAX कॉल बना रहा हूं जो निर्दिष्ट यूआरएल की सामग्री को पुनर्प्राप्त करता है और इसे पृष्ठ पर लिखता है। समस्या मैं कर रहा हूँ कि यह इस जानकारीजावास्क्रिप्ट दस्तावेज़। राइट AJAX
यहाँसाथ पूरे शरीर सामग्री को बदल देता है जे एस है:
(function(){
var mb = window.mb = {};
function get_ad(url, parameters){
var result = "";
var http_request = false;
if (window.XMLHttpRequest) { // Mozilla, Safari,...
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType) {
http_request.overrideMimeType('text/html');
}
} else if (window.ActiveXObject) { // IE
var avers = ["Microsoft.XmlHttp", "MSXML2.XmlHttp", "MSXML2.XmlHttp.3.0", "MSXML2.XmlHttp.4.0", "MSXML2.XmlHttp.5.0"];
for (var i = avers.length -1; i >= 0; i--) {
try {
http_request = new ActiveXObject(avers[i]);
if (http_request){
break;
}
} catch(e) {}
}
}
if (!http_request) {
alert('Cannot create XMLHTTP instance');
return false;
}
http_request.onreadystatechange = function(){
if (http_request.readyState == 4) {
if (http_request.status == 200) {
gen_output(http_request.responseText);
} else {
alert('Error');
}
}
}
http_request.open('GET', url + parameters, true);
http_request.send(null);
}
function gen_output(ad_content){
document.write("<div id=\"mb_ad\">");
document.write(ad_content);
document.write("</div>");
}
get_ad("http://localhost/test/test.html", "");
})();
और यहाँ एचटीएमएल है:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
i am text before <br/>
<script type="text/javascript" src="mb.js"></script>
<br />
i am text after
</body>
</html>
फ़ायरबग का उपयोग कर निरीक्षण करने के लिए, मुझे पहले या पाठ के बाद टेक्स्ट नहीं दिखाई देता है, बस <div id="mb_ad">
और test.html पृष्ठ की सामग्री। अगर मैं AJAX कॉल को हटा देता हूं और केवल 3 document.writes
टेक्स्ट पहले और पाठ ठीक से प्रदर्शित होने के बाद करता है। jQuery एक विकल्प नहीं है, मुझे इसे बड़ी लाइब्रेरी की मदद के बिना करना है क्योंकि आकार और गति सार के हैं।
मैं क्या अपने कोड के साथ गलत हो सकता है नहीं मिल सकता है, मैं इसे अधिक निरीक्षण की जरूरत है लगता है कि निम्नलिखित कोड के साथ एक ही समस्या थी/ब्रेक पॉइंट। लेकिन "jQuery एक विकल्प नहीं है" के लिए, मैं वास्तव में सहमत नहीं हूं, जावास्क्रिप्ट के 24ko (जो शायद Google सीडीएन का उपयोग कर कैश किया गया है) वास्तव में किसी वेबपृष्ठ पर कोई फर्क नहीं पड़ता है। यदि आपके पास वह मजबूत आवश्यकता है तो मुझे यकीन नहीं है कि कोई वेबसाइट या यहां तक कि नेटवर्क एप्लिकेशन भी एक अच्छा विचार है। – Mathieu
इसके अलावा, आप हल्के लाइब्रेरी जैसे डोमासिस्टेंट या इसी तरह का उपयोग कर सकते हैं। – dusoft
को इस तथ्य के साथ यह करना होगा कि इस स्क्रिप्ट को अन्य वेबसाइटों में डाला जाएगा, इसलिए ऐसी वेबसाइट पर jquery जैसे लाइब्रेरी को जोड़ने के लिए जो शायद अन्य पुस्तकालयों का उपयोग कर रहा हो, या यहां तक कि यहां तक कि jquery भी, केवल समस्याएं पैदा करेगा। –