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

Complianz环境下Fancybox/Lightbox模态框视频未被Cookie拦截的解决方案咨询

解决Complianz与Fancybox视频Cookie拦截问题

一、无需更换插件,用Complianz API直接适配

Complianz自带全局函数可获取用户Cookie授权状态,直接在Fancybox触发前做拦截判断即可,不用换工具:

  1. 替换原有Fancybox初始化代码,改成手动触发+授权校验:
// 绑定点击事件,先做Cookie校验
$("[data-fancybox]").on("click", function(e) {
    // 检查用户是否允许统计类Cookie(对应你加的cmplz-stats类)
    if (cmplz_get_consent("statistics") !== "allow") {
        e.preventDefault();
        // 弹出Complianz的Cookie设置弹窗引导用户授权
        cmplz_open_cookie_settings();
        return;
    }
    // 授权通过,手动打开Fancybox
    $.fancybox.open({
        src: $(this).data("src"),
        type: "iframe",
        iframe: {
            css: {
                maxWidth: '50%'
            },
            preload: false,
            smallBtn: false,
        }
    });
});
  1. 修复HTML标签的小问题:你的a标签重复写了class属性,合并成一个更规范:
<a class="vimeo cmplz-stats" data-fancybox="video-gallery" data-src="https://player.vimeo.com/video/876283694?autoplay=false">
    <img alt="" width="200" src="https://www.website.com/myposter.jpg">
</a>

二、手动实现模态框的方案(可选)

如果不想依赖Fancybox,自己写轻量模态框也很简单,核心逻辑还是结合Complianz的授权判断:

  • 页面里提前写好隐藏的模态框容器,里面的iframe默认不设置src属性
  • 点击海报图时,先调用cmplz_get_consent()检查授权状态
  • 授权通过后,给iframe赋值视频地址并显示模态框;未授权则触发Cookie设置弹窗

总结

优先用第一种方案,直接适配现有工具,不用额外引入新插件,代码改动最小,完全能实现未授权时拦截视频加载的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 00:05:10