簡體   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