在不创建iframe无限循环的情况下,使用iframe嵌入同一页面

时间:2018-10-14 18:36:06

标签: javascript html iframe parent createelement

我正在尝试使用iframe将Google Translate嵌入Google Translate。我使用了代码:

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)

但是它会在iframe中创建另一个Google翻译实例。因此,我在主窗口中获得了一个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?

0 个答案:

没有答案