Have an account? Sign in
Login  Register  Facebook
This Page is Under Construction! - If You Want To Help Please Send your CV - Advanced Web Core (BETA)
[Edit] برمجة النوافذ المنبثقة.
في هذا الدرس سنستخدم دالة من دوال الكائن window و هي دالة open لنفتح نافذة منبثقة و نعرف كيف يتم التعامل معها و عمليا لم تعد فكرة جيدة أن تجعل في الموقع نوافذ منبثقة حيث أنها تزعج المتسخدم كما أن معظم المتصفحات صارت تمنعها و لكن الغرض من الدرس هو توضيح كيف أن الكائن يعبر عن النافذة و يمكن من خلاله التحكم فيها و برمجتها . دالة open() تقبل متغيرات أولها يكون العنوان الذي ستفتحه فيها أما البقية فتحكم خصائص النافذة مثل العرض و الإرتفاع و غيرها ,الشيء المهم في دالة open أنها ترجع كائن يشبه الكائن window و من خلال هذا الكائن يمكنك برمجة كل شيء فيها و لنوضح هذا بالمثال: قم بنسخ الكود وضعه و احفظه كصفحة html .
<!DOCTYPE html>

<html>
<head>
    <title>Page 1</title>
    <script type="text/javascript">
    var childWindow = open("", "", "height=300");
    
    childWindow.document.write("Hello, new Window!<br/>");
    childWindow.document.write("How are you today?");
    </script>
</head>
<body>
    
</body>
</html>

عند فتح ملف الhtml الذي يحتوى الكود فإنه سيتم فتح نافذة فرعية(تأكد من أن المتصفح يسمح بالنوافذ المنبثقة) إرتفاع النافذه كما هو محدد في دالة open في السطر 7 يساوي "height=300"

و ستجد أن ناتج الدالة open يتم إرجاعه في المتغير childWindow و بذلك يمثل childWindow النافذه المفتوحه و من خلاله يمكن برمجتها, ففي السطر التاسع و العاشر لكي نطبع نص في النافذة المنبثقة إستخدمناchildWindow أولا ثم document.write
    childWindow.document.write("Hello, new Window!<br/>");
    childWindow.document.write("How are you today?");
لاحظ أنك عندما كنت تريد طباعة نص في النافذة الأساسية تستخدم
document.write()
و التي هي نفسها
window.document.write()
و أن childWindow هي أيضا كائن داخل الكائن window و له و مماثل له أي داخله نفس الكائنات.و أيضا يمكننا أن نكتب أمر الطباعه فيه هكذا
 window.childWindow.document.write("Hello, new Window!<br/>");
و كتابة الكود بهذه الطريقة توضح كيف أن childWindow خاصية في window أي موجود داخله و أيضا توضح أن له نفس خصائص window مثل document و يمكننا التحكم في أمور كثيرة في النافذة المنبثقة من خلال الكائن childWindow فإذا فتحت الكنسول في النافذة الأساسية و كتبت فيه هذا الأمر
childWindow.resizeTo(10, 10)
ستجد أن النافذة الصغرى تقلصت أبعادها إلى 10 في 10 و هذا يوضح كيف يمكنك التحكم في النافذة من خلال دوال الكائن childWindow و الآن أظن أنك جاهز للإنتقال للجزء الممتع فعلا في الجافا سكريبت و الذي سيبدأ من أول الفصل التالي.
November 28, 2011