要检测一个iframe
的src
属性是否改变,你可以使用JavaScript添加一个事件监听器来监听load
事件。当iframe
的内容加载或重新加载时,load
事件会被触发,此时你可以检查src
属性是否与之前记录的值不同。
以下是如何实现的示例代码:
javascript// 获取iframe元素 var iframe = document.getElementById('myIframe'); // 记录当前的src var currentSrc = iframe.src; // 监听load事件 iframe.addEventListener('load', function() { // 检测src是否改变 var newSrc = iframe.src; if (currentSrc !== newSrc) { console.log('iframe src has changed from ' + currentSrc + ' to ' + newSrc); // 更新当前src以便下次比较 currentSrc = newSrc; } });
将以上JavaScript代码与你的iframe
元素一起使用,只要确保将myIframe
替换为你的iframe
元素的实际ID。
请注意,由于同源策略,如果iframe
内容是跨域的,那么你可能无法访问到iframe
内部的src
属性。此时,你需要使用其他跨域通信技术,比如窗口消息传递(Window.postMessage)。如果iframe
加载的内容和父页面不同源,你就必须依赖于iframe
内的页面发送消息到父页面来告知src
的改变。
2024年6月29日 12:07 回复