使用 JavaScript 关闭 Elementor 弹出窗口
Close Elementor Popup with JavaScript
我有一个用 Elementor 创建的弹出窗口,打开时会播放视频。我试图让它在视频结束后关闭(比如 90 秒),但我找不到如何使用 Javascript.
关闭元素或弹出窗口
我试过类似这样的东西 https://github.com/elementor/elementor/issues/7085,但由于它不是点击操作,只是等待和关闭功能,我认为我无法让它工作。
任何方向都会有所帮助。谢谢。
我仍然没有找到任何特定于 Elementor 的调用,但我能够非常简单地模拟 90 秒后点击关闭按钮。
setTimeout(
function(){
document.querySelector('.close-button').click();
}, 90000);
);
我很想听听更好(正确)的方法来做到这一点,但如果有人正在寻找类似的热修复程序,这很有效。
选项 1 - 延时关闭
setTimeout(
function(){
document.querySelector('.dialog-close-button').click();
}, 90000);
);
选项 2 - 在触发 ended
事件时关闭(参见 https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/ended_event)
注意:这是一个贪婪的关闭 - 它会点击任何打开的弹出窗口上的关闭按钮,但除非你有多个弹出窗口,否则谁在乎呢?
const video = document.querySelector('video');
video.addEventListener('ended', (event) => {
document.querySelector('.dialog-close-button').click();
});
Less greedy option - 如果你想关闭一个特定的弹出窗口,给你的弹出窗口一个 class 比如 DATPOPUP
in ⚙ > Advanced,然后使用此代码:
const video = document.querySelector('video');
video.addEventListener('ended', (event) => {
document.querySelector('.DATPOPUP .dialog-close-button').click();
});
另请注意:在您的代码中,您将 .close-button
引用为关闭按钮的 class 选择器。不确定最近几个月情况是否发生了变化,但当前的 Elementor Pro 为该元素提供了 class .dialog-close-button
.
我有一个用 Elementor 创建的弹出窗口,打开时会播放视频。我试图让它在视频结束后关闭(比如 90 秒),但我找不到如何使用 Javascript.
关闭元素或弹出窗口我试过类似这样的东西 https://github.com/elementor/elementor/issues/7085,但由于它不是点击操作,只是等待和关闭功能,我认为我无法让它工作。
任何方向都会有所帮助。谢谢。
我仍然没有找到任何特定于 Elementor 的调用,但我能够非常简单地模拟 90 秒后点击关闭按钮。
setTimeout(
function(){
document.querySelector('.close-button').click();
}, 90000);
);
我很想听听更好(正确)的方法来做到这一点,但如果有人正在寻找类似的热修复程序,这很有效。
选项 1 - 延时关闭
setTimeout(
function(){
document.querySelector('.dialog-close-button').click();
}, 90000);
);
选项 2 - 在触发 ended
事件时关闭(参见 https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/ended_event)
注意:这是一个贪婪的关闭 - 它会点击任何打开的弹出窗口上的关闭按钮,但除非你有多个弹出窗口,否则谁在乎呢?
const video = document.querySelector('video');
video.addEventListener('ended', (event) => {
document.querySelector('.dialog-close-button').click();
});
Less greedy option - 如果你想关闭一个特定的弹出窗口,给你的弹出窗口一个 class 比如 DATPOPUP
in ⚙ > Advanced,然后使用此代码:
const video = document.querySelector('video');
video.addEventListener('ended', (event) => {
document.querySelector('.DATPOPUP .dialog-close-button').click();
});
另请注意:在您的代码中,您将 .close-button
引用为关闭按钮的 class 选择器。不确定最近几个月情况是否发生了变化,但当前的 Elementor Pro 为该元素提供了 class .dialog-close-button
.