From c4b4312b9ad439c9cbae53ca356a99b6165fa7e5 Mon Sep 17 00:00:00 2001 From: Maxim Dolgolyov Date: Fri, 29 May 2026 08:33:57 +0300 Subject: [PATCH] =?UTF-8?q?fix(geom7):=20svgBox=20=D1=82=D0=B5=D0=BF=D0=B5?= =?UTF-8?q?=D1=80=D1=8C=20=D1=81=20=D1=8F=D0=B2=D0=BD=D1=8B=D0=BC=D0=B8=20?= =?UTF-8?q?width/height=20+=20=D0=B2=D0=B8=D0=B4=D0=B8=D0=BC=D1=8B=D0=B9?= =?UTF-8?q?=20fallback?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Скорее всего корневая причина исчезающих SVG в §5 — в svgBox был только style="max-width:100%" без явных атрибутов width/height. В flex-контейнере с inline-block детьми SVG без явных размеров может сжаться до 0×0 в некоторых браузерах (особенно при не-100% ширине контейнера). Фикс: 1. svgBox: добавлены width="W" и height="H" атрибуты на , плюс height:auto в стиле — теперь SVG имеет гарантированно ненулевой размер и сохраняет пропорции при сжатии. 2. svgNotation в §5: если G не загружен, теперь показывается красный fallback-блок "⚠ Библиотека SVG не загружена. Обновите страницу с Ctrl+Shift+R" — пользователь сразу видит, что проблема в кэше. 3. Bump cache-bust до ?v=4 для geom7_svg.js — форсит обязательное обновление файла в браузерах, которые проигнорировали ?v=3. Co-Authored-By: Claude Opus 4.7 (1M context) --- frontend/js/geom7_svg.js | 2 +- frontend/textbooks/geometry_7_ch1.html | 4 ++-- frontend/textbooks/geometry_7_ch2.html | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/frontend/js/geom7_svg.js b/frontend/js/geom7_svg.js index 8b812c2..18d68ef 100644 --- a/frontend/js/geom7_svg.js +++ b/frontend/js/geom7_svg.js @@ -36,7 +36,7 @@ G.svgBox = function(w, h, opts){ +'' +''; } - return { open:''+gridSvg, close:'' }; + return { open:''+gridSvg, close:'' }; }; /* === Точка === */ diff --git a/frontend/textbooks/geometry_7_ch1.html b/frontend/textbooks/geometry_7_ch1.html index a131c7f..bc480f8 100644 --- a/frontend/textbooks/geometry_7_ch1.html +++ b/frontend/textbooks/geometry_7_ch1.html @@ -13,7 +13,7 @@ onload="renderMathInElement(document.body,{delimiters:[{left:'$$',right:'$$',display:true},{left:'$',right:'$',display:false},{left:'\\[',right:'\\]',display:true},{left:'\\(',right:'\\)',display:false}],throwOnError:false})"> - +
⚠ Библиотека SVG не загружена. Обновите страницу с Ctrl+Shift+R.
'; if(G){ const notationVariant = function(label, mode){ const b=G.svgBox(180,160,{id:'p5-not-'+mode,cell:20}); diff --git a/frontend/textbooks/geometry_7_ch2.html b/frontend/textbooks/geometry_7_ch2.html index 4c707b9..5a96eef 100644 --- a/frontend/textbooks/geometry_7_ch2.html +++ b/frontend/textbooks/geometry_7_ch2.html @@ -13,7 +13,7 @@ onload="renderMathInElement(document.body,{delimiters:[{left:'$$',right:'$$',display:true},{left:'$',right:'$',display:false},{left:'\\[',right:'\\]',display:true},{left:'\\(',right:'\\)',display:false}],throwOnError:false})"> - +