أنت غير متصل حاليًا، وفي انتظار الإنترنت الخاص بك ليقوم بإعادة الاتصال

إن المستعرض الذي تستخدمه غير معتمد

إنك تحتاج إلى تحديث المستعرض لاستخدام الموقع.

التحديث إلى أحدث إصدار من Internet Explorer

BUG: الخاصية window.closed بإرجاع قيم غير صحيحة

هام: تمت ترجمة هذا المقال باستخدام برنامج ترجمة آلية لشركة مايكروسوفت بدلاً من الاستعانة بمترجم بشري. تقدم شركة مايكروسوفت كلاً من المقالات المترجمة بواسطة المترجمين البشر والمقالات المترجمة آليًا وبالتالي ستتمكن من الوصول إلى كل المقالات الموجودة في قاعدة المعرفة الخاصة بنا وباللغة الخاصة بك. بالرغم من ذلك، فإن المقالة المترجمة آليًا لا تكون دقيقة دائمًا وقد تحتوي على أخطاء إملائية أو لغوية أو نحوية، مثل تلك الأخطاء الصادرة عن متحدث أجنبي عندما يتحدث بلغتك. لا تتحمل شركة مايكروسوفت مسئولية عدم الدقة أو الأخطاء أو الضرر الناتج عن أية أخطاء في ترجمة المحتوى أو استخدامه من قبل عملائنا. تعمل شركة مايكروسوفت باستمرار على ترقية برنامج الترجمة الآلية

اضغط هنا لرابط المقالة باللغة الانجليزية241109
إخلاء مسؤولية من محتوى قديم في قاعدة المعارف
عن تقديم الدعم التقني لهاو لذلك تظهر هذه المقالة كما هي و لن يتم تحديثها Microsoft تمت كتابة هذه المقالة بخصوص منتجات توقفت
الأعراض
يتم استخدام الخاصية window.closed عند التابع تحتاج إلى معرفة متى الإطار التابع أو الأصل الترتيب، تم إغلاق أو إطار أصل يتم فتح إطار فرعي باستخدام استدعاء window.open الأصل.

تشير الخاصية opener إلى إطار فتحه الحالي (باستخدام استدعاء الأسلوب window.open). عند الإطار الفرعي بفحص الخاصية opener.closed ، فإنها تكون خاطئة عند الأصل مفتوح true وإلا; أي، يتم عكس القيمة التي تم إرجاعها.

عندما يتحقق الأصل حالة الإطار الفرعي باستخدام الخاصية مغلق الإطار الفرعي ، يتم إرجاع نفس نتائج غير صحيحة.
الحل
هو الحل التابع في الحصول على الأصل تعيين متغير في إطار فرعي التي تحافظ على المعلومات الصحيحة الإطار الأصل. ثم تستخدم التابع هذا المتغير بدلاً من خاصية opener.closed.

هو الحل الأصل negate الخاصية مغلق الإطار الفرعي. إنه أكثر أماناً والمستحسنة استخدام منطق نفس عن الإطار الفرعي للتأكد من أن المنطق لم قطع عندما يتم إصلاح هذه المشكلة في إصدار أحدث من برنامج Internet Explorer

يوضح تعليمات HTML البرمجية الخطأ وكذلك كيفية حل المشكلة.
  1. احفظ الملف التالي Parent.htm:
    <html><head><script>var childWin;var childOpen = false;</script></head><body BGCOLOR="white"><input type="button" value="Open Child" id="button1" name="button1" onclick="OpenChild()" ><p><input type="button" value="Is Child Open(Bug)?" id="button2" name="button2" onclick="alert(childWin.closed)"><p><input type="button" value="Is Child Open(Fix)?" id="button3" name="button3" onclick="alert(childOpen)"><script>function OpenChild(){	childWin = window.open ("Child.htm")	childOpen = true;}function UpdateChild(){	//Only if child window is still open, set the parentOpen property	if (childOpen == true)	{		childWin.parentOpen = false	}}window.onunload = UpdateChild;</script></body></html>					
  2. احفظ الملف التالي Child.htm:
    <html><head><script>var parentOpen = true</script></head><body BGCOLOR="white"><input type="button" value="Is Parent Open(Bug)?" id="button1" name="button1" onclick="alert(window.opener.closed)"><input type="button" value="Is Parent Open?" id="button2" name="button2" onclick="alert(parentOpen)"><script>window.onunload = UpdateParent;function UpdateParent(){	//Only if the parent is open, update the status of the child window	if (parentOpen)	{		window.opener.childOpen = false;	}}</script></body></html>					
  3. انتقل إلى Parent.htm ثم انقر فوق الزر فتح التابعة لفتح الإطار الفرعي.
  4. انقر فوق أزرار هو فتح التابع قبل و بعد إغلاق الإطار التابع إعادة إنشاء الخطأ واختبار الإصلاح. بشكل بديل، انقر فوق على أزرار هو فتح الأصل قبل و بعد إغلاق الإطار الأصل للاختبار.
تصريح
أقرت Microsoft أن هذا خطأ في منتجات Microsoft المسردة في قسم "تنطبق على".
مراجع
للحصول على مزيد من المعلومات حول تطوير الحلول المستندة إلى ويب لبرنامج Microsoft Internet Explorer، قم بزيارة مواقع Microsoft التالية على الويب:(c) 1999 شركة Microsoft ، كافة حقوق محجوز. المساهمات قبل Kusuma Vellanki ، Microsoft Corporation.

إغلاق opener إطار

تحذير: تمت ترجمة هذه المقالة تلقائيًا

خصائص

رقم الموضوع: 241109 - آخر مراجعة: 05/11/2006 11:56:20 - المراجعة: 3.0

  • Microsoft Internet Explorer 4.0 128-Bit Edition
  • Microsoft Internet Explorer 4.01 Service Pack 2
  • Microsoft Internet Explorer 5.0
  • Microsoft Internet Explorer (Programming) 6.0
  • kbmt kbbug kbdhtml kbdocfix kbfaq kbpending KB241109 KbMtar
تعليقات
did=1&t=">