为了账号安全,请及时绑定邮箱和手机立即绑定

使用Javascript或jQuery将元素写入子iframe

使用Javascript或jQuery将元素写入子iframe

大话西游666 2019-11-27 10:44:22
我有这样的事情:<html>  <body>     <iframe id="someFrame"></iframe>  </body></html>而且我想使用jQuery编写元素,以使等效的HTML完全像这样:<html>  <body>    <iframe id="someFrame">      <!-- inside the iframe's content -->      <!-- <html><body>  -->      <div>A</div>      <div>B</div>      <div>C</div>      <!-- </body></html> -->    </iframe>  </body></html>另外,任何普通的Javascript也可以。谢谢。编辑:经过更多的研究,似乎我正在寻找iframe的contentDocument属性的IE等效。“ contentDocument”是FF支持的W3C标准,但IE不支持。(惊喜)
查看完整描述

3 回答

?
白猪掌柜的

TA贡献1893条经验 获得超10个赞

经过一番研究,并得到了Mike的肯定回答,我发现这是一个解决方案:


  var d = $("#someFrame")[0].contentWindow.document; // contentWindow works in IE7 and FF

  d.open(); d.close(); // must open and close document object to start using it!


  // now start doing normal jQuery:

  $("body", d).append("<div>A</div><div>B</div><div>C</div>");


查看完整回答
反对 回复 2019-11-27
?
慕莱坞森

TA贡献1810条经验 获得超4个赞

我在这里四处走动,建议到目前为止提出的答案是不可能的。


如果此iframe实际上有一个src =“ somepage.html”(您应该已经指明,否则,使用iframe的意义是什么?),那么我认为Jquery不能在所有浏览器中直接跨框架操作html。 。根据我对这种事情的经验,包含页面无法直接从iframe页面调用函数或与iframe页面进行任何形式的Javascript联系。


您的“ somepage.html”(在iframe中加载的页面)需要做两件事:


将某种对象传递到可用作桥梁的包含页面

具有根据需要设置HTML的功能

因此,例如,somepage.html可能看起来像这样:


<html>

<head>

<script src="jquery.js">

</script>

<script language=JavaScript>

<!--//

    var bridge={

        setHtml:function(htm) {

            document.body.innerHTML=htm;

        }

    }


    $(function() { parent.setBridge(bridge); });


//--></script>

</head>

<body></body>

</html>

并且包含页面可能如下所示:


<html>

<head>

<script src="jquery.js">

</script>

<script language=JavaScript>

<!--//

var bridge;

var setBridge=function(br) {

    bridge=br;

    bridge.setHtml("<div>A</div><div>B</div><div>C</div>");

    }

//-->

</script>

</head>

<body><iframe src="somepage.html"></iframe></body>

</html>

这可能看起来有些令人费解,但可以在多个方向进行调整,并且至少应在IE,FF,Chrome和Safari和Opera中起作用。


查看完整回答
反对 回复 2019-11-27
  • 3 回答
  • 0 关注
  • 647 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信