0

我有一个包含聊天程序(第三方)的页面,它在 iframe 中包含一个聊天窗口。所以现在我想在父文档中绑定按钮单击事件。

以下是层次结构:-

主文档 > iframe > iframe > 聊天窗口按钮(将此按钮绑定到大父文档)

我试过这段代码

<script>
$(window).ready(function($){

    var frameWindow = $('#livservMiddleFrame').get(0).contentWindow;
    console.log(frameWindow.document.body.innerHTML);

});
</script>

这给了我第一个 iframe HTML 的输出,这只是一个尝试。我不知道这是否可能,或者我们是否可以通过一些劫持来获得它。

提前致谢。

4

2 回答 2

0

您不能使用 javascript 或 jquery 在 iframe 中进行更改。但是您可以再次检查以下代码。它可以帮助你

$(document).ready(function() {
    $('iframe').contents().find('button').click(function() {

});
});
于 2013-05-20T11:48:44.747 回答
0

根据我对 iframe 的个人经验,我发现使用纯 JS 来“获取”iframe 对象更可靠。假设你有 DOM > iframe1 > iframe2 > chat-button,这就是你获取windoe对象的方法:

var frame1Win = window.frames["iframe1"].window; // "iframe1" is iframe name, not id
var frame2Win = frame1Win.frames["iframe2"].window;

PS:根据您的浏览器,您可能必须使用 contentWindow。

您可以使用以下方式使用 JQuery 附加点击事件

$(frame2Win).find("#chat-button").on("click",function() {
  // do something
});
于 2013-05-20T11:58:23.447 回答