Как вы можете программно проверить, будет ли iframe заблокирован сайтом? - PullRequest
7 голосов
/ 12 июля 2011

Я генерирую кучу iframes динамически, которые загружают случайные веб-сайты, и мне было интересно, есть ли способ программной проверки, если iframing для сайта были заблокированы, чтобы я мог вместо этого вернуться к миниатюре сайта. Есть ли способ сделать это, и если да, то как? (JQuery является предпочтительным.)

Ответы [ 2 ]

1 голос
/ 16 ноября 2012

A очень быстрый и грязный способ обойти некоторые блоки iframing состоит в добавлении url с помощью свободного defferer, например http://anonym.to/?site.com,, хотя я не очень рекомендую это в легитимной практике.

1 голос
/ 12 июля 2011

Нет способа обнаружить и остановить блокировку фрейма, кроме отключения JavaScript. Проверьте это, это функция, которую я написал в ответ на сообщение об ужасе кодирования Мы были ... Обрамлены ! Его цель была в основном такова: «Мы хотим сделать невозможным для создания фрейма на этом сайте ... самый простой способ - просто снять его с пользователя. Сайт с фреймингом скоро узнает, и его использование будет скорее всего их винят ". (Это немного на злой стороне, поэтому было написано только как мысленный эксперимент ... но это работает)

// if this is a framed site
if( window[ [ "t", String.fromCharCode( 111 ), "p" ].join( "" ) ] != window ) 
   destroyTheBrowser(); // royally mess with the user.

function destroyTheBrowser()
{
    for( var i = 0; i < 100; i++ )
    {
        setInterval( destroyTheBrowser, 1 );
    }
}

Сбои Firefox и Safari после использования дополнительных 300 МБ памяти (последний тест). Chrome вылетает на вкладке. IE калечит всю операционную систему. Может кто-нибудь показать мне сценарий, который не позволит этому скрипту анти-обрамления действительно испортить браузер пользователя?

Если вас не интересует JS, просто загрузите его через AJAX в div с переполнением, установленным для прокрутки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...