Яндекс убегает из iframe

Есть web приложение, в котором хочется иметь встроенный браузер. Добавил iframe и несколько флагов. Но например яндекс видит iframe и пытается открыть новое окно навигатора. Как можно не дать сайту обнаружить iframe?

Есть возможность инжектить js через расширение. Сейчас инжектится такой скрипт:

var badTargets = ["_blank", "__blank", "blank", "_new", "new", "_newtab", "newtab", "_hplink"];
var badRels = ["external", "ext", "e"];
var filterForms = true;
var newTarget = "main-frame";

function rewriteTarget(node) {
        if (!filterForms && (node.tagName == "FORM")) {
            return;
        }
        if (badTargets.indexOf(node.getAttribute("target")) != -1) {
            node.setAttribute("target", newTarget);
        }
        if (badRels.indexOf(node.getAttribute("rel")) != -1) {
            node.setAttribute("rel", "");
            node.setAttribute("target", newTarget);
        }
}
const config = { childList: true, subtree: true };
const callback = function(mutationsList, observer) {
    for(const mutation of mutationsList) {
        if (mutation.type === 'childList') {
            if (mutation.target.tagName == "A") rewriteTarget(mutation.target);
            if (mutation.target.tagName == "FORM") rewriteTarget(mutation.target);
        }
    }
};
const observer = new MutationObserver(callback);
observer.observe(document, config);

Но похоже не срабатывает.


Ответы (0 шт):