website globe: report, live check (desktop JS on/off, 376 px menu), R-903 (no-JS phone menu); 130 -> 131

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012qRErfCoiTkvDK9N5XHbzb
This commit is contained in:
2026-10-08 09:21:16 +02:00
parent 803af4798d
commit 42a4a4634b
10 changed files with 123 additions and 1 deletions
@@ -0,0 +1,38 @@
const puppeteer = require('puppeteer');
const sleep = ms => new Promise(r => setTimeout(r, ms));
async function items(p) {
return p.$$eval('.lang-globe-item', as => as.map(a => ({text: a.textContent, href: a.getAttribute('href'), cur: a.getAttribute('aria-current'),
vis: a.offsetParent !== null, r: (b => [Math.round(b.left), Math.round(b.right)])(a.getBoundingClientRect())})));
}
(async () => {
const b = await puppeteer.launch({args: ['--no-sandbox']});
for (const js of [true, false]) {
for (const [w, h] of [[1280, 800], [376, 812]]) {
for (const [u, tag] of [['https://felhom.eu/', 'hu'], ['https://felhom.eu/en/', 'en']]) {
const p = await b.newPage();
await p.setJavaScriptEnabled(js);
await p.setViewport({width: w, height: h});
await p.goto(u, {waitUntil: 'networkidle2', timeout: 60000});
const name = `${tag}-${w}-${js ? 'js' : 'nojs'}`;
const closed = await p.$eval('details.lang-globe', d => d.open);
if (w < 900) {
if (!js) { console.log(name, 'phone menu needs JavaScript (the three-line button is scripted); skipped'); await p.close(); continue; }
await p.click('#hamburger'); await sleep(500);
}
await p.click('summary.lang-globe-btn'); await sleep(300);
const open = await p.$eval('details.lang-globe', d => d.open);
const it = await items(p);
const scroll = await p.evaluate(() => [window.innerWidth, document.documentElement.scrollWidth]);
await p.screenshot({path: `/out/${name}.png`});
console.log(name, JSON.stringify({openBefore: closed, openAfterClick: open, items: it, viewport_scroll: scroll}));
for (const i of it) {
const q = await b.newPage(); await q.setJavaScriptEnabled(js);
const r = await q.goto(new URL(i.href, u).href, {waitUntil: 'domcontentloaded'});
console.log(' ', i.text, '->', q.url(), r.status(), await q.$eval('html', e => e.lang)); await q.close();
}
await p.close();
}
}
}
await b.close();
})().catch(e => { console.error(e); process.exit(1); });
@@ -0,0 +1,20 @@
hu-1280-js {"openBefore":false,"openAfterClick":true,"items":[{"text":"Magyar","href":"/","cur":"true","vis":true,"r":[1043,1161]},{"text":"English","href":"/en/","cur":null,"vis":true,"r":[1043,1161]}],"viewport_scroll":[1280,1280]}
Magyar -> https://felhom.eu/ 200 hu
English -> https://felhom.eu/en/ 200 en
en-1280-js {"openBefore":false,"openAfterClick":true,"items":[{"text":"Magyar","href":"/","cur":null,"vis":true,"r":[1043,1161]},{"text":"English","href":"/en/","cur":"true","vis":true,"r":[1043,1161]}],"viewport_scroll":[1280,1280]}
Magyar -> https://felhom.eu/ 304 hu
English -> https://felhom.eu/en/ 200 en
hu-376-js {"openBefore":false,"openAfterClick":true,"items":[{"text":"Magyar","href":"/","cur":"true","vis":true,"r":[129,344]},{"text":"English","href":"/en/","cur":null,"vis":true,"r":[129,344]}],"viewport_scroll":[376,376]}
Magyar -> https://felhom.eu/ 200 hu
English -> https://felhom.eu/en/ 304 en
en-376-js {"openBefore":false,"openAfterClick":true,"items":[{"text":"Magyar","href":"/","cur":null,"vis":true,"r":[129,344]},{"text":"English","href":"/en/","cur":"true","vis":true,"r":[129,344]}],"viewport_scroll":[376,376]}
Magyar -> https://felhom.eu/ 304 hu
English -> https://felhom.eu/en/ 304 en
hu-1280-nojs {"openBefore":false,"openAfterClick":true,"items":[{"text":"Magyar","href":"/","cur":"true","vis":true,"r":[1043,1161]},{"text":"English","href":"/en/","cur":null,"vis":true,"r":[1043,1161]}],"viewport_scroll":[1280,1280]}
Magyar -> https://felhom.eu/ 200 hu
English -> https://felhom.eu/en/ 200 en
en-1280-nojs {"openBefore":false,"openAfterClick":true,"items":[{"text":"Magyar","href":"/","cur":null,"vis":true,"r":[1043,1161]},{"text":"English","href":"/en/","cur":"true","vis":true,"r":[1043,1161]}],"viewport_scroll":[1280,1280]}
Magyar -> https://felhom.eu/ 304 hu
English -> https://felhom.eu/en/ 304 en
hu-376-nojs phone menu needs JavaScript (the three-line button is scripted); skipped
en-376-nojs phone menu needs JavaScript (the three-line button is scripted); skipped
Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB