سؤال

في جهاز الكمبيوتر الخاص بي، وأنا باستخدام ادبلوك مخصصة على أساس معادل إعادة توجيه (حتى أتمكن من ادبلوك في كروم). أنا على التوالي IIS على الجهاز الخاص بي، لذلك لدي خطأ فارغة مخصصة 404 التي تعرض عندما يتم عرض الإعلان على أساس iframe على صفحة.

ولقد المعدلة بلدي خطأ 404 وراثة لون خلفيتها من الأصل بحيث لا تبدو الإعلان البغيض على مواقع ذات خلفية غير البيضاء. بلدي التحدي المقبل هو استخدام بلدي صفحة 404 من الانهيار تماما iframe بحيث لا يعرض على الصفحة على الإطلاق.

هل من الممكن أن يغير تحتوي على العلامة <iframe /> من داخل إطار iframe؟ أريد فقط أن تغيير ارتفاع وسمات العرض إذا كان ذلك ممكنا. إذا كان الأمر كذلك، كيف أذهب عن القيام بذلك؟

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

المحلول

ويجب أن لا يكون من الممكن، ومواقع داخل نوافذ الأطر المدمجة يمكن أن يكون موقع خارجي. مما يتيح لهم التعامل مع بيئة انهم عرضها في سيشكل خطرا أمنيا المتصفح.

وأنت تريد ان تكون أفضل حالا باستخدام وكيل adblocking.

نصائح أخرى

إذا كنت فهمت بشكل صحيح، كنت تقول تريد صفحتك 404 ليؤدي الى انهيار الإطار من عند تحميل داخله. أسهل طريقة للقيام بذلك هي لإنشاء وظيفة في صفحتها الرئيسية، ومن ثم يطلق عليه من 404 عند تحميل.

وعلى سبيل المثال، إذا IFRAME الخاص بك لديه "advertFrame" معرف يمكن إضافة ما يلي ظيفة جافا سكريبت إلى صفحة الأم:

function hideAdvertFrame() {
  var advertFrame = document.getElementById("advertFrame");
  advertFrame.style.height = 0;
  advertFrame.style.width = 0;
}

وبعد ذلك في الصفحة 404، يمكنك استدعاء الدالة على الفور عند تحميل:

<body onload="window.parent.hideAdvertFrame();">

وقال ذلك، أعتقد أنك لا يزال قد ترغب في النظر في خيارات أخرى إلى جانب البرمجة إطار عبر التي هي أقل عرضة للثغرات أمنية. ربما الصفحة الديك يمكن استخدام AJAX لمعرفة ما اذا كان ادبلوك سيكون له URL صالح قبل فإنه يحمل، ثم حيوي إضافته إلى الصفحة مرة واحدة معينة.

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

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