Яндекс убегает из 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);
Но похоже не срабатывает.