繁体   English   中英

检测 iframe 内部的按钮被点击

[英]Detect a button inside of an iframe being clicked

我正在尝试检测 iframe 内部的按钮点击。 我目前已经研究了如何在我单击 iframe 内部时让它提醒我,但现在需要将其扩展到 iframe 内部的按钮。 如果我需要完全重新创建代码以使其更高效,我可以接受。

var monitor = setInterval(function(){
  var elem = document.activeElement;
  if(elem && elem.tagName == 'IFRAME'){
  alert('Clicked');
  clearInterval(monitor);
  }
  
}, 100);

我不确定你为什么使用 setInterval。 以一种奇怪的方式,您模拟了 javascript 事件侦听器,每 100 毫秒您检查当前活动的元素是否是 IFRAME。 单击它后,它将显示警报,但如果您关注另一个元素然后返回 IFRAME,它将不会再次显示警报。

解决此问题的方法是使用事件侦听器。 像这样:

注意:在 iframe 中添加一个名为“myFrame”的 ID。

const element = document.getElementsById('myFrame');
element.addEventListener("click", myFunction);

function myFunction() {
  alert('Clicked');
}

您也应该对按钮使用完全相同的方法,只有您会在getElementById中获得按钮。

setInterval 的目的是每 x 毫秒运行一次特定代码。 JS 足够复杂,可以为您提供所有 API 来处理您将需要的一切。 通常,您只会将 setInterval 用于您可能实现的奇特算法,但通常,对于构建普通网站,您很少需要它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM