javascript – 如何将HTML内容设置为iframe

我有一个HTML字符串

<html>
  <body>Hello world</body>
</html> 

我想使用JavaScript将其设置为iframe。我试图设置这样的HTML:

contentWindow.document.body.innerHTML

要么

contentDocument.body.innerHTML

要么

document.body.innerHTML

但IE提供“访问被拒绝”。或“对象不支持此属性或方法”。或“操作的最终元素无效”。错误。

这是我的完整代码:

<!DOCTYPE html>
<html>
  <head>
    <script type="text/javascript" src="jquery_1.7.0.min.js"/>
    <script type="text/javascript">
      $(document).ready(function(){
        var htmlString = "<html><body>Hello world</body></html>";
        var myIFrame = document.getElementById('iframe1');
        // open needed line commentary
        //myIFrame.contentWindow.document.body.innerHTML = htmlString;
        //myIFrame.contentDocument.body.innerHTML = htmlString;
        //myIFrame.document.body.innerHTML = htmlString;
        //myIFrame.contentWindow.document.documentElement.innerHTML = htmlString;
      });
    </script>
  </head>
  <body>
    <p>This is iframe:
      <br>
      <iframe id="iframe1">
      <p>Your browser does not support iframes.</p>
      </iframe>
  </body>
</html>
您可以使用:

document.getElementById('iframe1').contentWindow.document.write("<html><body>Hello world</body></html>");

这是一个jsFiddle,它适用于所有主流浏览器。

请注意,而不是contentDocument.write,您应该使用contentWindow.document.write:这使它在IE7中也起作用。

http://stackoverflow.com/questions/16504816/how-to-set-html-content-into-an-iframe

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:javascript – 如何将HTML内容设置为iframe