هل هناك طريقة لجعل المحتوى من تجاوز IFRAME على الإطار الأصل؟

StackOverflow https://stackoverflow.com/questions/176572

سؤال

ولدي القطعة UI التي تحتاج إلى أن توضع في IFRAME على حد سواء لأسباب تتعلق بالأداء وحتى نتمكن من نقابة بها إلى المواقع التابعة بسهولة. واجهة المستخدم للالقطعة يتضمن أداة النصائح التي تعرض على أعلى محتوى الصفحة الأخرى. انظر الصورة أدناه أو انتقل إلى موقع لترى أنه في العمل. هل هناك أي طريقة لجعل المحتوى من داخل IFRAME تتداخل محتوى إطار الوالدين؟

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

المحلول

ولا انها ليست ممكنة. تجاهل أي أسباب تاريخية، في الوقت الحاضر انه سيعتبر ثغرة أمنية - على سبيل المثال. العديد من المواقع تضع محتوى غير موثوق بها في إطارات iframe (المصدر الإطار من كونها مختلفة المنشأ بحيث لا يمكن تعديل الإطار الأصل، في السياسة أصل نفسها).

إذا كان هذا المحتوى غير موثوق بها آلية لوضع المحتوى خارج حدود الإطار من أنه يمكن (على سبيل المثال) وضع "متطابقة" شعبة الدخول (أو أيا كان) على حقول تسجيل الدخول الحقيقية إطار الأم، وبالتالي يمكن أن سرقة اسم المستخدم / معلومات كلمة المرور. التي من شأنها أن تمتص.

نصائح أخرى

وأنا لا يمكن أن تجد وسيلة لجعل محتوى تدفق إطار من الإطار، ولكن لم أجد وسيلة لالإختراق من حوله، عن طريق تحريك تلميح الأدوات في الوثيقة الأصلية ووضعه فوق (ض مؤشر ) إطار iframe.

وهذا النهج هو:
1) إيجاد إطار iframe في الوثيقة الأصلية
2) إزالة عنصر تلميح الأدوات من حيث هو في DOM، وإضافته إلى الوثيقة الأصلية داخل العنصر الذي يحتوي على IFRAME الخاص بك.
3) ربما تحتاج إلى ضبط ض مؤشر وتحديد المواقع، وهذا يتوقف على الطريقة التي كانوا يفعلون ذلك في المقام الأول.

ويمكنك الوصول إلى الوثيقة الأصلية من إطار iframe باستخدام parent.document.

jQuery(tooltip).remove();
var iframeParent = jQuery("#the_id_of_the_iframe", parent.document)[0].parentNode;
iframeParent.appendChild(tooltip);
//adjust z-index, positioning

وهذا قد يكون من العلامة إما لأنه غير مناسب في ضوء الاحتياجات الخاصة بك، أو أنه قد لا تساعد في الواقع (!)، ولكن قد يكون من المفيد التحقق من <لأ href = "http://www.codeproject.com /KB/aspnet/uframe.aspx "يختلط =" نوفولو noreferrer "> UFrame . إنه نوع من مزيج من IFRAME و div، وربما يمكن تعبئتها على النحو القطعة (وأفضل رهان يكون لمنح العملاء علامة <script> التي من شأنها أن تمتص في UFrame والعلامات ذات الصلة). ما لست متأكدا حول ما إذا يمكنك تحقيق تراكب تحتاجها، لكنه ربما يستحق اللعب مع حولها. عذرا أنا لا يمكن أن يكون أكثر تحديدا لكنها ليست شيئا لقد استعملت فعلا نفسي، وأنا مجرد مرجعية أنه حين يعود للرجوع إليها في المستقبل.

وإذا كنت تعرف أعلى المطلق للقيمة تلك الأداة يمكن أن يكون أعلى يمكنك إنشاء شعبة وهذا هو ارتفاع محتوى + أعلى المسافة سوف تلميح أداة عرض في. محاذاة iframe للأسفل شعبة. تأكد من أن الإطار من و div شفافة. ثم محتوى IFRAME مع تلميح أداة يجب أن يعرض. وإن كان هذا هو وضع نفسك تصل للصداع من التأكد من الاشياء مثل تسليط الضوء على عمل نفس الشيء في جميع المتصفحات.

وعش الخاص IFRAME الحالي وشعبة اقترح، من داخل الإطار من الأم، ثم تنخفض في الإطار من والديك ل3rd الأطراف، وأفضل ما في العالمين!

وبقدر ما أنا أعلم أنه لا يمكن القيام به. لماذا لا تستخدم طلب XHR وتعبئة شعبة بدلا من ذلك؟

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top