fix(tracker): хук на боковую панель-справочник (.tab[data-tab=refN])
Chemistry-9 и physics-9 имеют ДВА навигатора: 1. .para-pill[data-para=pN] — верхние пилюли с большими карточками 2. .tab[data-tab=refN] — sidebar-справочник, тонкие строки слева Ученик кликал именно по второму (§46 Mg и ЩЗМ), но tracker ловил только первый. Маппинг ref<N> → p<N> по регексу. Capture-фаза, чтобы не зависеть от bubble.
This commit is contained in:
@@ -307,6 +307,17 @@
|
||||
if (typeof window.setParaTab === 'function' && window.setParaTab.__tbPatched) clearInterval(ivl);
|
||||
if (++tries > 20) clearInterval(ivl);
|
||||
}, 100);
|
||||
// Hook 4b: боковая панель-справочник в chemistry-9 / physics-9 использует
|
||||
// .tab[data-tab="refN"] вместо .para-pill. Маппим ref<N> → p<N> и фиксируем.
|
||||
document.addEventListener('click', e => {
|
||||
const tab = e.target && e.target.closest && e.target.closest('.tab[data-tab]');
|
||||
if (!tab) return;
|
||||
const m = String(tab.dataset.tab || '').match(/^ref(\d+)$/);
|
||||
if (!m) return;
|
||||
const para = 'p' + m[1];
|
||||
console.log('[tracker] клик по справ. табу', tab.dataset.tab, '→', para);
|
||||
recordParaVisit(para);
|
||||
}, true);
|
||||
// Hook 4: polling — наблюдаем за классом .active на пилюлях.
|
||||
// Если кто-то поменял активный параграф (через клик, через JS вызов
|
||||
// setParaTab, через любой механизм) — мы это поймаем за 500мс и зафиксируем.
|
||||
|
||||
Reference in New Issue
Block a user