You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

移除WordPress Elementor播放列表中的下载按钮问题求助

解决Elementor视频播放列表无法全局隐藏下载按钮的问题

在WordPress中用Elementor制作视频播放列表后,播放视频时会显示下载按钮,使用以下jQuery代码仅对第一个视频生效,切换视频后下载按钮依然存在:

jQuery( document ).ready(function() {
  jQuery("video").each(function(){
    jQuery(this).attr('controlsList','nodownload');
    jQuery(this).load();
  });
});

问题原因

代码仅在页面初始加载时执行一次,Elementor切换视频时会动态更新视频元素(修改src或替换节点),新生成的视频元素没有被添加controlsList="nodownload"属性,导致下载按钮仍然显示。


解决方案

方案1:监听播放列表切换事件

通过监听Elementor播放列表项的点击事件,每次切换后重新为视频添加属性:

jQuery(document).ready(function($) {
    // 统一处理视频控件的函数
    function updateVideoControls() {
        $("video").attr('controlsList', 'nodownload');
        // 重新加载视频使属性生效
        $("video").each(function() {
            this.load();
        });
    }

    // 页面加载时先处理第一个视频
    updateVideoControls();

    // 监听播放列表项的点击,切换后延迟执行处理
    $(document).on('click', '.elementor-video-playlist-item', function() {
        setTimeout(updateVideoControls, 300);
    });
});

方案2:监听DOM动态变化(更可靠)

使用MutationObserver监听DOM中视频元素的新增或属性修改,自动处理所有视频:

jQuery(document).ready(function($) {
    function updateVideoControls(videoElement) {
        $(videoElement).attr('controlsList', 'nodownload');
        videoElement.load();
    }

    // 初始处理所有视频
    $("video").each(function() {
        updateVideoControls(this);
    });

    // 监听DOM变化
    const observer = new MutationObserver(function(mutations) {
        mutations.forEach(function(mutation) {
            // 处理新增的视频元素
            if (mutation.addedNodes.length) {
                $(mutation.addedNodes).find('video').each(function() {
                    updateVideoControls(this);
                });
            }
            // 处理视频src属性修改的情况
            if (mutation.type === 'attributes' && mutation.target.tagName === 'VIDEO') {
                updateVideoControls(mutation.target);
            }
        });
    });

    // 监听整个页面的DOM变化(可缩小范围到播放列表容器,如.elementor-video-playlist)
    observer.observe(document.body, {
        childList: true,
        subtree: true,
        attributes: true,
        attributeFilter: ['src']
    });
});

补充:CSS辅助隐藏(兼容更多浏览器)

controlsList="nodownload"仅支持Chromium系浏览器,可配合CSS隐藏下载按钮:

/* 隐藏Chrome等浏览器的视频下载按钮 */
video::-webkit-media-controls-download-button {
    display: none !important;
}

使用说明

  • 将JS代码添加到Elementor的「自定义代码」面板(或主题的自定义JS功能中)
  • CSS代码添加到Elementor的「自定义CSS」面板

内容的提问来源于stack exchange,提问作者mohammad aghigh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 13:46:04