这种方法貌似ie不支持,又换了一种:
var textDoc1 = document.getElementById("text-frm").contentWindow; console.log(textDoc1); var textDoc2 = textDoc1.document.getElementById("TRS_Editor___Frame").contentWindow; var textDoc3 = textDoc2.document.getElementsByTagName("iframe")[0].contentWindow.document; textDoc3.body.innerHTML=text1; textDoc3.body.innerHTML="古德赫赫";之后用ie测试此方法的时候还是会有null出现,所以加上window.top
var textDoc1 = window.top.document.getElementById("text-frm").contentWindow; console.log(textDoc1); var textDoc2 = textDoc1.document.getElementById("TRS_Editor___Frame").contentWindow; var textDoc3 = textDoc2.document.getElementsByTagName("iframe")[0].contentWindow.document; textDoc3.body.innerHTML=text1; textDoc3.body.innerHTML="古德赫赫";再次测试还是不行,改成如下方式:
var textDoc1 = window.top.document.getElementById("text-frm").contentWindow; var textDoc2 = textDoc1.frames[7]; var textDoc3 = textDoc2.frames[1]; textDoc3.document.body.innerHTML="古德赫赫";最后发现是ie浏览器的版本导致编辑器的iframe有的没有加载出来,测试发现需要ie 8-10的版本支持,谷歌就并没有这些问题,心好累。。。
另外在查找资料的过程中看到了一个iframe的用法挺好的,记下来:
<ul class="nav nav-list"> <li class="active parent_li"><a href="BSwelcome.aspx" target="mainframe"></li> <li class="parent_li"><a href="MyContacts/MyInfoAssitant/BSMyInfoList.aspx?jb_id=&grade=all&&paixu=no®s=dd&cup=1" target="mainframe"></a></li> <li class="parent_li"><a href="MyContacts/MyOrder/BSMyOrderList.aspx?cup=1&&sel=no" target="mainframe"></a></li> <li class="parent_li"><a href="MyContacts/SubmitOrder/BSSubmitOrderList.aspx?cup=1" target="mainframe"></a></li> </ul> <iframe id="ifrma1" src="BSwelcome.aspx" name="mainframe" frameborder="no" scrolling="yes" style="width: 100%; height: 100%;"></iframe>通过a标签切换iframe,一般iframe要有id值,name值,而a标签链接了地址,还要多一句 target=”mainframe” 而mainframe就是iframe的name值。才不至于点击a标签直接跳过去。 此方法引用自:https://www.cnblogs.com/suizhikuo/p/4961780.html