javascript - 从 iframe 中的元素获取文本
问题描述
好吧,我想从 iframe 内的标签元素中获取文本,我的意思是我想单击所述 iframe 内的任何元素,并能够像这段代码一样将所述标签的文本检索回父窗口与我当前的页面:
$(document).click(function(event) {
var text = $(event.target).text();
});
PS:iFrame中包含的网站基本上不在我的控制之下
解决方案
因此,为了在 iframe 和父窗口之间进行通信,iframe 的内容必须由 JavaScript 生成(如果它也是同一服务器上另一个文件的 iframe,则不确定它是否适用......)或者您必须以其他方式访问 iframe 页面的源代码,以实现 postMessage API 以将数据发送到主页或从主页发送数据
例如,在你的 iframe 源代码中的某个地方,比如点击一个元素,你可以调用 postMessage 向主框架发送一条消息
myButton.onclick= ()=>{
parent.postMessage({message:"you clicked something"},"*")
}
然后在主文件中收听新消息
onmessage = e=>
console.log(e.data)
推荐阅读
- javascript - 使用 JS 和 Google Apps 脚本获取 CORS
- javascript - nodejs中的api请求连接问题
- android - 是否可以使用 Google / Android Pay 以外的支付平台(订阅)?
- c - 在函数中使用 scanf 传递字符串变量
- python - 尝试中的奇怪行为..除了
- java - 使用 apache httpclient 接收“SLF4J”日志消息
- typescript - 从仅定义一个选项的多个选项中为变量赋值
- c++ - /usr/include/stdlib.h:133:35:错误:在标记“(”之前缺少二元运算符
- javascript - Three.js 使用 Raycaster 检测 ArrowHelper 的线和锥子项
- snowflake-cloud-data-platform - 自动增量增长速度快于行数?