将内容写入iframe javascript / jquery中的iframe

时间:2018-05-15 11:52:22

标签: javascript jquery iframe

我认为我所得到的可能不需要太多调整,但是当我尝试以下内容时:

<div id="exp_div"></div>
<script>
procedure = [
    [
      "content 1","content 2"
      ]
    ]

procedure.forEach(function(this_proc,index){
  $("#exp_div").append("<iframe id='trial"+index+"' width='800px' height='800px'></iframe>");
  trial_iframe_code = '';
  for(var i = 0; i < this_proc.length; i++){
     trial_iframe_code += "<iframe id='post"+i+"'></iframe>";
  }
  doc = document.getElementById('trial'+index).contentWindow.document;
  doc.open();
  doc.write(trial_iframe_code);
  doc.close();
  for(var i = 0; i < this_proc.length; i++){
    trial_content = this_proc[i];
      console.dir(trial_content);
    doc = document.getElementById('trial'+index).contentWindow.document.getElementById('post'+i);
    doc.open();
    doc.write(trial_content);
    doc.close();
  }
})
</script>

即。在这个fiddle(当我尝试在SO上运行代码时iframe不能正常工作)我得到“doc.open不是函数”的错误 - 我认为这与写入的尝试有关试用iframe中的“post”iframe。是否可以在这种结构中写入iframe中的iframe?我的代码是否接近正确,或者需要采用不同的方法?

为了澄清,这是一个在线心理学实验,用于创建参与者将在一系列iframe中执行的所有任务。由于某些任务中包含多个任务,因此我想在iframe中编写多个iframe。

在这种情况下,工作代码会在“exp_div”中生成一个名为“trial0”的iframe。在“trial0”中会有一个id为“post0”的iframe,其中只写有“内容1”,还有一个id为“post1”的iframe,其中写有“内容2”。

0 个答案:

没有答案