从iframe中的元素获取文本

时间:2020-09-16 05:50:11

标签: javascript html

好吧,我想从iframe内的tag元素中获取文本,我的意思是我想单击所说iframe内的任何元素,并且能够像回到父窗口一样检索该tag的文本。该代码适用于我当前的页面:

$(document).click(function(event) {
    var text = $(event.target).text();
});

PS:iFrame中包含的网站基本上不受我的控制,我想通过Web对该网站进行剪贴,但是试图创建一种工具来简化该过程

1 个答案:

答案 0 :(得分:1)

因此,为了在iframe和父窗口之间进行通信,iframe的内容必须已经由JavaScript生成(如果它是同一服务器上另一个文件的iframe,也不确定是否适用)。 。)否则,您必须有权访问iframe页面的源代码,以实现postMessage API来与主页之间发送数据

例如,在iframe源代码中的某个位置,例如单击某个元素,您可以调用postMessage将消息发送到主框架

myButton.onclick= ()=>{
    parent.postMessage({message:"you clicked something"},"*")
}

然后在主文件中收听新消息

onmessage = e=> 
    console.log(e.data)