hody.ir

6-کار با ActiveXObject در ajax | هودی | آموزشای متنی

6-کار با ActiveXObject در ajax

Ajax Tutorial

سلام دوستان به جلسه ششم آموزش Ajax خوش آمدید، در این جلسه در مورد ActiveXObject صحبت میکنیم

در جلسه قبل در مورد چگونگی دریافت اطلاعات از Json صحبت کردیم، پیشنهاد میشود برای یادگیری بهتر جلسات قبل را بخوانید.

تاریخچه Ajax

واژه ای‌جکس را برای اولین بار Jesse James Garrett در فوریه سال ۲۰۰۵ در مقاله Ajax: A New Approach to Web Applications استفاده کرد.

اگرچه نام ای‌جکس برای نخستین بار در سال ۲۰۰۵ ابداع شد.

اما تاریخچه اکثر فناوری‌هایی که به ای‌جکس منتهی شدند به حدود یک دهه قبل و ابتکارات مایکروسافت در اسکریپت‌نویسی از راه دور بازمی‌گردد.

با این حال تاریخچه فناوری‌هایی برای بارگذاری غیرهمروند محتویات یک صفحه وب، بدون نیاز به بارگذاری دوباره صفحه، به عناصر IFRAME (که در سال ۱۹۹۶ در نسخه ۳ IE ارائه شد) و عناصر LAYER (که در سال ۱۹۹۷ در نسخه ۴ مرورگر نت‌اسکیپ ارائه شد، اما در نسخه‌های اخیر موزیلا متروکه شده‌است) بازمی‌گردد.

هردوی این عناصر، یک خصوصیت src دارند که می‌تواند یک آدرس URL خارجی را شامل شود.

به این ترتیب اگر صفحه‌ای شامل یک کد جاوا اسکریپت بارگذاری شود که صفحه والد را دستکاری می‌کند، نتیجه‌ای شبیه ای‌جکس خواهیم داشت.

ویکی پدیا

چرا باید از ActiveXObject استفاده شود؟

زیرا اگر مرورگری که کاربر استفاده میکند قدیمی باشد احتمال دارد شیء XMLHttpRequest را پشتیبانی نکند.

روش استفاده از ActiveXObject

برای استفاده از ActiveXObject شما باید از متغیر استفاده کنید تا کار آسان شود

مثال:

var Request;
if(window.XMLHttpRequest) {
	Request = new XMLHttpRequest
}
else {
	Request = new ActiveXObject('Microsoft.XMLHTTP')
}

توجه: در پرانتز ActiveXObject حتما باید عبارت ‘Microsoft.XMLHTTP’ را وارد کنید

مثال عملی:

«در فایل “data.txt” عبارت Hello World! نوشته شده است»

<!doctype html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>

	<div id="demo"></div>

	<script>
		var demo = document.getElementById('demo')
		var Request;
		if(window.XMLHttpRequest) {
			Request = new XMLHttpRequest
		}
		else {
			Request = new ActiveXObject('Microsoft.XMLHTTP')
		}
		Request.open('GET', 'data.txt', true)

		Request.onreadystatechange = function() {
			if(Request.readyState == 4 && Request.status == 200) {
				demo.innerHTML = Request.responseText
			}
		}
		Request.send()
	</script>
</body>
</html>

خروجی:

Ajax In IE

دوستان این جلسه هم به پایان رسید، خوشحال میشم که ما را با کامنت های تان همراهی کنید

اگر سوالی برایتان پیش آمده است حتما در کامنت ها یا در گروه تلگرام ما سؤالتان را بپرسید

امیدوارم این جلسه برایتان مفید بوده باشد خداحافظ

0 0 vote
Article Rating
Subscribe
اطلاع از
guest
0 Comments
Inline Feedbacks
View all comments