我有一个主(父)页面,其中托管了同一域下的 3 个 iframe。iframe 的 src 属性是在点击事件上添加的,因此 iframe 直到需要时才会加载。
我想要的是当我单击主页上的某个 div 时,它会触发对同时位于所有 3 个 iframe 内的特定 div 的单击。
我在父页面中尝试了以下代码:
function myFunction() {
var iframe = document.getElementById("iframe1");
var elmnt = iframe.contentWindow.document.getElementById("btn").click()
}
#iframe2
并为 iframe和.重复了两次#iframe3
。但是,除非我加载 iframe 以便将它们写在我的页面上,否则它不起作用。(即点击事件#iframe2
直到 after 事件才执行#iframe1
)。这是一个问题,因为我无法控制 iframe 访问者首先加载的内容。我尝试给它们单独的 function() 名称,但发生了同样的事情 - 一次只影响一个 iframe。请注意,当我使用 iframe 已经像正常一样拥有它们的 src 进行测试时,这工作正常,只是在手动添加它们时不行。
我还尝试在 iframe 页面中添加它:
parent.document.getElementById('btn').onclick = function(){
document.getElementById('btn').click();
}
但是,这仅适用于加载的第一个 iframe(即,如果#iframe2
先加载,则iframe1
's 和iframe3
' 事件不会执行)
我可以尝试其他解决方案吗?我的目的是创建一个昼夜切换classList.toggle
,我希望iframes
同时切换所有的 CSS,切换按钮位于主页上。
(我的主页更喜欢 vanilla javascript,但 iframe 页面上的 jQuery 很好)