我一直在努力争取其中一个编程挑战网站。它有一个控制台类型的东西,让我输入javascript并按下运行按钮。我需要在该网页内部创建一个iframe,其中包含另一个网页(例如,我在thiswebsite.com/level1上创建iframe,我需要在其中创建带有thiswebsite.com/level2的iframe)。
尝试按如下方式创建iframe:
document.getElementById('someDiv').innerHTML = '<iframe src="thissite.com/level2/" height= 300 width=400>';
但是当我尝试这个时它不会运行,还有另一种方法吗? 感谢。
答案 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”。