Skip to content

Commit 08d3d4c

Browse files
committed
モバイル限定調整
1 parent 452f25c commit 08d3d4c

1 file changed

Lines changed: 31 additions & 10 deletions

File tree

WebSite/assets/js/layout.js

Lines changed: 31 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -348,29 +348,50 @@ document.addEventListener("DOMContentLoaded", () => {
348348

349349
fetchPartials(pathToPartials, headerFile)
350350
.then(([headerHtml, footerHtml]) => {
351+
// モバイルでは bread-pet のマークアップ自体を挿入しない(CSS/transform 等の影響を排除)
352+
if (isMobileViewport()) {
353+
try {
354+
headerHtml = headerHtml.replace(
355+
/<div\s+id=["']bread-pet["'][\s\S]*?<\/div>\s*/i,
356+
"",
357+
);
358+
} catch (e) {
359+
// 正規表現での置換に失敗しても後続の安全策があるため続行
360+
}
361+
}
362+
351363
shell.insertAdjacentHTML("afterbegin", headerHtml);
352364
shell.insertAdjacentHTML("afterend", footerHtml);
353365

366+
// モバイル専用: overflow-x を強制的に隠す(レイアウトの横はみ出し対策)
367+
if (isMobileViewport()) {
368+
try {
369+
const style = document.createElement("style");
370+
style.setAttribute(
371+
"data-generated-by",
372+
"layout.js:mobile-overflow",
373+
);
374+
style.textContent =
375+
"@media (max-width: 768px){html,body{overflow-x: hidden !important;}}";
376+
document.head.appendChild(style);
377+
} catch (e) {
378+
// 無視
379+
}
380+
}
381+
354382
// 初期化
355383
setupLanguageSwitch(currentPath);
356384
setupActiveNav(currentPath);
357385
setupNavToggle();
358386

359387
// bread-pet はモバイル時は初期化しない(表示/ロジックともに除外)
360-
// 加えて、念のため header がすでに bread 要素を含む場合は非表示化する
361388
if (isMobileViewport()) {
389+
// DOM 上に残っている場合はノード自体を削除して影響を排除
362390
const breadEl =
363391
document.getElementById("bread-pet");
364-
if (breadEl) {
392+
if (breadEl && breadEl.parentNode) {
365393
try {
366-
breadEl.style.display = "none";
367-
breadEl.style.visibility = "hidden";
368-
breadEl.style.pointerEvents = "none";
369-
breadEl.setAttribute("aria-hidden", "true");
370-
breadEl.setAttribute(
371-
"data-bread-disabled",
372-
"true",
373-
);
394+
breadEl.parentNode.removeChild(breadEl);
374395
} catch (e) {
375396
// 無視
376397
}

0 commit comments

Comments
 (0)