السلام عليكم و رحمة الله
لابد و أن الأغلبية يعرفون دالة include المستخدمة في php
و لمن لا يعرفها فهي دالة تسمح يتضمين صفحة ما داخل صفحة php
مثال :
لكي لا نكرر كود header و footer في جميع صفحات الموقع
فإننا نقوم بإنشاء صفحة header.php و footer.php
ثم نقوم يتضمينها في جميع صفحات الموقع بهذا الكود مثلا
كود PHP:
<?php include 'header.php';?>
محتوى الصفحة
<?php include 'footer.php';?>
فإذا أردنا تعديل كود header أو footer فلا نحتاج إلى تعديل جميع صفحات الموقع بل نعدل صفحة واحدة فقط
و لكن هناك من يريد استعمال هذه الدالة من أجل صفحات html فلا يستطيع لأن html ليست لغة برمجة و لكن javascript لغة برمجة و عليه فالحل كالتالي
نقوم بإنشاء صفحة html
و نضع بعد الوسم <head> هذا الكود
كود:
<script type="text/javascript">
/***********************************************
* Ajax Includes script- © Dynamic Drive DHTML code library (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code
***********************************************/
//To include a page, invoke ajaxinclude("afile.htm") in the BODY of page
//Included file MUST be from the same domain as the page displaying it.
var rootdomain="http://"+window.location.hostname
function ajaxinclude(url) {
var page_request = false
if (window.XMLHttpRequest) // if Mozilla, Safari etc
page_request = new XMLHttpRequest()
else if (window.ActiveXObject){ // if IE
try {
page_request = new ActiveXObject("Msxml2.XMLHTTP")
}
catch (e){
try{
page_request = new ActiveXObject("Microsoft.XMLHTTP")
}
catch (e){}
}
}
else
return false
page_request.open('GET', url, false) //get page synchronously
page_request.send(null)
writecontent(page_request)
}
function writecontent(page_request){
if (window.location.href.indexOf("http")==-1 || page_request.status==200)
document.write(page_request.responseText)
}
</script>
و بعد الوسم <body> هذا الكود مثلا
كود:
<script type="text/javascript">
ajaxinclude("header.html")
</script>
محتوى الصفحة
<script type="text/javascript">
ajaxinclude("footer.html")
</script>
مع مراعاة تغيير header.html و footer.html حسب الحاجة
و هكذا يمكننا إستعمال incude في صفحات html بدون الحاجة إلى php
و السلام عليكم و رحمة الله