Противоударная антикоррекция

У меня есть простое расширение Chrome, которое вставляет iframe в активную страницу (не важная часть)
Я хочу встроить игру по адресу http://diep.io/, но на этом сайте есть некоторые frame-busting методы реализованы. Я все еще хочу иметь возможность загрузить это в iframe, чтобы сделать это мини-окно похожим на вещь, используя Iframe (открытый для других тегов, таких как embed или webview(однако вы можете заставить его работать)).

Так как я могу получить anti-frame busting типа вещь собирается здесь?
Очевидно, что это перекрестное происхождение, поэтому редактирование DOM внутрине совсем легкое /не должно быть возможным. Я пробовал атрибут песочницы, но это только вызывает проблемы с предыдущей страницей внутри iframe (страница с типом ссылки-центральная) и делает невозможным использование.

Таким образом, главный вопрос здесь заключается в том, как сделать перекрестное происхождение embedded page анти-разорение кадра без атрибута песочницы?

1 ответ

Я нашел решение. Мой iframe перемещается с помощью кнопки (с HTML-идентификатором "deHBox"), а мой iframe связан с переменной, помеченной "Ifr".

    document.getElementById("deHBox").addEventListener("click", function(){
    sandbox(false);
    Ifr.src = url;
    Ifr.style.height = 'calc(100% - 23px)';
    Ifr.style.width = '100%';
    setTimeout(function() {sandbox(true)}, 500);
});


    setTimeout(function() {sandbox(true)}, 500);


function sandbox(on) {
    if (on == true) {
        Ifr.sandbox = "allow-scripts allow-forms allow-pointer-lock allow-popups allow-same-origin";
    } else {
        Ifr.removeAttribute('sandbox');
    }
}

Я только добавил это к моему injected.js файл...

Другие вопросы по тегам