1. 同时服务多个客户 / 项目
面向谁: 自由职业者、代理机构、顾问。
问题: 每个客户都有自己的管理面板、仪表盘或 staging,需要细微调整——不同的颜色、隐藏的按钮、dev 横幅。不停切换很烦人。
解决方案: 每个项目都有自己的文件夹和 URL 模式。在浮动按钮上一键切换某个客户的全部调整——或按 URL 自动切换。
来自扩展文档的七个真实场景——从临时隐藏 Cookie 横幅到一键 QA 操作面板。每个都附带可复制粘贴的具体方案。
面向谁: 自由职业者、代理机构、顾问。
问题: 每个客户都有自己的管理面板、仪表盘或 staging,需要细微调整——不同的颜色、隐藏的按钮、dev 横幅。不停切换很烦人。
解决方案: 每个项目都有自己的文件夹和 URL 模式。在浮动按钮上一键切换某个客户的全部调整——或按 URL 自动切换。
面向谁: 任何在界面与生产环境相同的 staging 环境上工作的人。
问题: 你以为在 staging 上而执行了破坏性操作,结果其实是生产环境。这事人人都遇到过。
解决方案: 设置一个使用 URL 模式 *staging* 或你 dev 域名的文件夹。在每个页面顶部注入一个红色横幅。再加一段自动登录 JS,免去输入凭据。
/* CSS — DEV banner */
body::before {
content: "DEV ENVIRONMENT";
position: fixed; top: 0; left: 0; right: 0;
background: #dc2626; color: white;
text-align: center; padding: 4px;
font-weight: bold; z-index: 999999;
font-family: monospace;
}
body { padding-top: 28px !important; }
面向谁: 测试员、产品经理、设计师——需要快速设置测试数据的非开发人员。
问题: 为测试一个流程把同一个注册表单填 30 遍——手指都疼。找开发要“魔法链接”——浪费他们的时间。
解决方案: 创建操作按钮:FILL(自动填充测试数据)、CART(把商品加入购物车)、CLR(清空表单)、STATE(把组件设为特定状态)。一次点击 = 同一操作重复 100 次。
// Action 'FILL' — fill test data
const data = {
email: 'test@example.com',
phone: '600000000',
firstName: 'John', lastName: 'Tester'
};
Object.keys(data).forEach(name => {
const el = document.querySelector(`[name="${name}"]`);
if (el) {
el.value = data[name];
el.dispatchEvent(new Event('input', { bubbles: true }));
el.dispatchEvent(new Event('change', { bubbles: true }));
}
});
面向谁: 任何阅读文档、博客、新闻网站的人。
问题: 网站字号太小、对比度差、广告扰人、有付费墙、Cookie 横幅遮住内容。原作者不会来修。
解决方案: 隐藏广告/横幅、增大文字、添加阅读模式。在任何网站都管用——无需作者许可。自动在设备间同步你的调整。
/* Hide common ad and tracker elements */
.ad, .ads, .advertisement,
.banner-ad, [class*="ad-banner"],
[id*="google_ads"],
.cookie-banner, #cookie-notice {
display: none !important;
}
面向谁: 开发者、营销分析师、电商。
问题: 你需要验证 dataLayer.push 事件是否在正确时刻以正确的载荷触发。往生产代码里加 console.log 是禁忌。
解决方案: 注入用日志包装 dataLayer.push 和 gtag 的 JS——无需改动网站代码。在 DevTools 中可见,一键即可移除。
// Log all GTM dataLayer pushes
const origPush = window.dataLayer?.push;
if (origPush) {
window.dataLayer.push = function(...args) {
console.log('%c[GTM]',
'color:#16a34a;font-weight:bold', args);
return origPush.apply(window.dataLayer, args);
};
}
面向谁: 任何每天使用 CMS 或后台的人——WordPress 后台、Magento 后台、自定义面板。
问题: 管理面板通常是“给所有人”做的——列太窄、表头滚动时不固定、一眼看不出谁是谁。
解决方案: 修正表格、列表、表单的 CSS。固定表头、更大的字体、交替的行色。为重复任务设置操作按钮(“测试筛选”、“重置视图”)。
/* Make admin tables more readable */
table.admin-list td, table.admin-list th {
padding: 8px 12px !important;
font-size: 14px !important;
}
table.admin-list thead {
position: sticky; top: 0;
background: white; z-index: 10;
}
table.admin-list tbody tr:nth-child(odd) {
background: #f9fafb;
}
面向谁: 任何需要“四处看看”生产环境又不想冒险改动任何东西的人。
问题: 生产环境出了急情,你得排查。误点一下“删除”或“发送”,情况就更糟了。
解决方案: 操作按钮 RO(“只读”),隐藏所有“删除”“保存”“发送”按钮。点一下——你就能浏览而不必担心误操作。再点一下——恢复。
// Action 'RO' — hide all destructive buttons
document.querySelectorAll(
'button[type="submit"], .delete-btn, .danger-btn, [class*="delete"]'
).forEach(b => b.style.display = 'none');
console.warn('READ-ONLY MODE enabled');