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

Tab Filter:如何获取静态URL,实现外部URL直接打开指定标签页

通过URL直接激活指定Tab标签页并生成静态URL

一、改造链接生成静态URL

把原代码中javascript:void(0)的占位链接,替换为带筛选参数的静态URL,让每个Tab拥有可直接分享的独立地址:

<ul class="filters" data-bs-toggle="buttons">
    <li class="btn active">
        <input type="radio" name="filter">
        <a href="?filter=All">All Tests</a> 
    </li>
    <li data-filter=".General" class="btn">
        <input type="radio" name="filter" id="general">
        <a href="?filter=General">General</a> 
    </li>
    <li data-filter=".Business" class="btn">
        <input type="radio" name="filter">
        <a href="?filter=Business">Premium</a> 
    </li>
</ul>

二、页面加载自动解析URL激活对应Tab

添加以下JavaScript代码,实现页面加载时读取URL参数,自动激活目标Tab并筛选对应内容:

document.addEventListener('DOMContentLoaded', function() {
    // 获取URL中的筛选参数
    const urlParams = new URLSearchParams(window.location.search);
    const targetFilter = urlParams.get('filter');

    if (!targetFilter) return; // 无参数时默认显示全部

    // 移除所有Tab的激活状态
    document.querySelectorAll('.filters .btn').forEach(btn => {
        btn.classList.remove('active');
        btn.querySelector('input').checked = false;
    });

    if (targetFilter === 'All') {
        // 激活"全部测试"Tab并显示所有内容
        const allBtn = document.querySelector('.filters .btn:first-child');
        allBtn.classList.add('active');
        allBtn.querySelector('input').checked = true;
        document.querySelectorAll('[class*="General"], [class*="Business"]').forEach(item => {
            item.style.display = 'block';
        });
    } else {
        // 激活目标Tab并筛选显示对应内容
        const targetBtn = document.querySelector(`.filters .btn[data-filter=".${targetFilter}"]`);
        if (targetBtn) {
            targetBtn.classList.add('active');
            targetBtn.querySelector('input').checked = true;
            document.querySelectorAll('[class*="General"], [class*="Business"]').forEach(item => {
                item.style.display = item.classList.contains(targetFilter) ? 'block' : 'none';
            });
        }
    }
});

三、静态URL示例

  • 打开全部测试:你的页面地址?filter=All
  • 打开General分类:你的页面地址?filter=General
  • 打开Premium(Business)分类:你的页面地址?filter=Business

如果你的筛选逻辑依赖第三方插件(如Isotope),只需替换代码中显示/隐藏内容的部分为插件对应的筛选方法即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 01:38:19