اندازهی قلم متن
تخمین مدت زمان مطالعهی مطلب:
یک دقیقه
یکی از مواردی را که به کرات در ارجاع دهندههای سایت مشاهده میکنم، درج صفحات سایت به صورت iframe داخل یک سری سایتهای تبلیغاتی بسیار سطحی است. سؤال: چگونه میتوان جلوی این حرکت نامطلوب را گرفت؟
برای اینکار نیاز است اسکریپت ذیل را به ابتدای اسکریپتهای سایت خود اضافه کنید:
اگر شیء window.top با شیء window.self یکی نبود (یعنی window جاری، window رویی نبود)، بنابراین صفحهی جاری، داخل iframe قرار گرفتهاست. همچنین برای اطمینان بیشتر میتوان window.top.location.host را نیز فراخوانی کرد. مرورگرهای جدید امکان دسترسی به دومین والد را از طریق یک iframe نمیدهند و همینجا یک استثناء صادر خواهد شد.
در مرحله بعد، با فراخوانی window.top.location = window.self.location و سایر کدهایی که مشاهده میکنید، کل صفحه را به صورت خودکار به سایت خودمان هدایت خواهیم کرد.
این مورد را نیز میتوان به مجموعه best practices اجباری تهیه یک سایت اضافه کرد.
برای اینکار نیاز است اسکریپت ذیل را به ابتدای اسکریپتهای سایت خود اضافه کنید:
function defrm() { document.write = ''; window.top.location = window.self.location; setTimeout(function () { document.body.innerHTML = ''; }, 0); window.self.onload = function (evt) { document.body.innerHTML = ''; }; } if (window.top !== window.self) { try { if (window.top.location.host) { /* will throw */ } else { defrm(); /* chrome */ } } catch (ex) { defrm(); /* everyone else */ } }
در مرحله بعد، با فراخوانی window.top.location = window.self.location و سایر کدهایی که مشاهده میکنید، کل صفحه را به صورت خودکار به سایت خودمان هدایت خواهیم کرد.
این مورد را نیز میتوان به مجموعه best practices اجباری تهیه یک سایت اضافه کرد.