检测正在单击的iframe内部的按钮



我正在尝试检测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,它将不会再次显示警报。

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

注意:添加一个名为";myFrame";到您的iframe。

const element = document.getElementsById('myFrame');
element.addEventListener("click", myFunction);
function myFunction() {
alert('Clicked');
}

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

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

最新更新