Вставить ту же страницу с iframe без создания бесконечного цикла iframe - PullRequest
0 голосов
/ 14 октября 2018

Я пытаюсь встроить Google Translate в Google Translate с помощью iframe.Я использовал код:

var a = document.createElement('iframe');
a.src = "https://translate.google.com/"; 
a.id = "iframenaturalID";
a.width = "400";
a.height = "1100";
document.querySelector('body').appendChild(a)

Но он создает еще один экземпляр Google Translate внутри iframe.Таким образом, я получаю один iframe внутри главного окна, а второй iframe внутри первого iframe.

Я пытался сделать это (и несколько вариантов с window.parent [но я думаю, это работает только при вызове родительского окна изiframe]):

var bodydocumentmain = document.getElementsByTagName("body")[0];
bodydocumentmain.id = "bodyMainID";
var innerMainBodyDoc3 = document.getElementById("bodyMainID");
var innerMainBodyDoc = innerMainBodyDoc3.contentDocument || innerMainBodyDoc3.contentWindow.document;
var a = innerMainBodyDoc.createElement('iframe');
a.src = "https://translate.google.com/"; 
a.id = "iframenaturalID";
a.width = "400";
a.height = "1100";
innerMainBodyDoc.querySelector('body').appendChild(a)

Но это не работает.Конечно, я мог бы просто сделать:

var iframe1 = document.getElementById('iframenaturalID');
var innerDoc = iframe1.contentDocument || iframe1.contentWindow.document;
innerDoc.getElementById('iframenaturalID').remove();

Но это кажется немного кривым.Можно ли создать iframe только внутри главного окна, не затрагивая первый iframe?

...