سؤال

ولدي نافذة مؤطرة (IFRAME حاليا ولكن ربما قد يكون الإطار) - ليس لدي السيطرة على هذا.

وأود أن الكشف عن حالة المحتوى الخاص بي هو داخل إطار iframe (أو الإطار).

وأردت أن تقارن موقع الوثيقة الحالية مع واحد يحمل الكائن العلوي ولكن يبدو أنه من نفس الكائن (أعلى === الإطار).
بعد غوغلينغ واسعة وصلت إلى هذه IEMobile بلوق دخول و في أحد التعليقات هناك هذه الإجابة:

<اقتباس فقرة>   

وقال iemoblog:

     

لا، لا يمكنك الوصول إلى أي جزء من   DOM الأم من البرنامج النصي في iframe   في IE موبايل.
  20 ديسمبر 2007 12:12

وأنا لا يمكن أن يبدو للعثور على أي وثائق حول هذا - أي شخص يمكن أن تساعد في تأكيد هذا أو أفضل من ذلك - تشير إلى وسيلة لاكتشاف ما إذا كانت الصفحة "تأطير"؟

هل كانت مفيدة؟

المحلول 2

وكما قلت لم تحصل في أي مكان بعد العثور على تعليق اليسار في في IE موبايل بلوق (تشارلز موريس - مدير البرنامج على فريق IE موبايل، على منصبه الخاصة) أجد نفسي مجبرا على إضافة هذه الإجابة والقول هو:

وكما صمم (أو خلل على الأقل)

<اقتباس فقرة>   

وقال <القوي> لجان المقاومة الشعبية : ل

     

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

     

و19 ديسمبر 2007 21:29

     

على قال iemoblog : ل

     

لا، لا يمكنك الوصول إلى أي جزء من   DOM الأم من البرنامج النصي في iframe   في IE موبايل.

     

و20 ديسمبر 2007 00:12   PM

نصائح أخرى

والمشكلة الرئيسية هي أنه إذا كان الإطار هو من مجال مختلف ثم الحاوية ومن ثم سندبوإكسد جافا سكريبت ولا يمكن الوصول إلى إطار أخرى / حاوية.

ما يمكنك القيام به هو محاولة لمقارنة window إلى window.top والنتائج المحتملة هي: 1. هي نفسها -> كنت النافذة العليا على الصفحة 2. أنها ليست هي نفسها -> لم تكن النافذة العليا على الصفحة، هناك بعض الصفحات حاوية، في نفس المجال كما كنت، الذي يحمل نافذة كإطار أو IFRAME. 3. يتم طرح استثناء الأمن -> لم تكن النافذة العليا على الصفحة، لكن الإطار العلوي من مجال آخر والتي لا يمكن الوصول إليه

.

وربما شيء من هذا القبيل:

try {
  if (window == window.top)
    return "I'm parent";
  else
    return "I'm a child of " + window.top.location;
} catch (e) {
  return "I'm a child of something from another domain";
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top