仅使用javascript创建iframe

时间:2016-07-20 13:55:26

标签: javascript iframe

我一直在努力争取其中一个编程挑战网站。它有一个控制台类型的东西,让我输入javascript并按下运行按钮。我需要在该网页内部创建一个iframe,其中包含另一个网页(例如,我在thiswebsite.com/level1上创建iframe,我需要在其中创建带有thiswebsite.com/level2的iframe)。

尝试按如下方式创建iframe:

document.getElementById('someDiv').innerHTML = '<iframe src="thissite.com/level2/" height= 300 width=400>';

但是当我尝试这个时它不会运行,还有另一种方法吗? 感谢。

2 个答案:

答案 0 :(得分:5)

使用createElement

document方法
var a = document.createElement('iframe');
a.src = "your path will go here"; //add your iframe path here
a.width = "1000";
a.height = "500";
document.querySelector('body').appendChild(a)

我只是将iframe附加到body。要将其附加到someDiv,请使用以下代码替换最后一行

document.getElementById('someDiv').appendChild(a);

答案 1 :(得分:0)

怀疑该网站不允许您创建iframes

例如,如果您在Console

中尝试以下代码
    //define function
    function prepareiFrame() {
        var ifrm = document.createElement("iframe");
        ifrm.setAttribute("src", "https://google.com/");
        ifrm.style.width = "640px";
        ifrm.style.height = "480px";
        document.body.appendChild(ifrm);
    }

    //call it
    prepareiFrame()

Stackoverflow会抛出以下错误:

  

拒绝在一个框架中显示“https://www.google.co.in/?gfe_rd=cr&ei=OoWPV7agCuHt8wf3v6egDA”,因为它将“X-Frame-Options”设置为“SAMEORIGIN”。