host-nav:复制链接直接打开的页面不回首页旧位置(清 mmbox.homepos.v1)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
deploy
2026-11-09 15:00:09 +00:00
parent 725022cb1f
commit c189813d28
18 changed files with 20 additions and 18 deletions

View File

@@ -235,7 +235,7 @@ mark{background:linear-gradient(transparent 62%,var(--c20) 0);color:inherit;padd
@media (prefers-reduced-motion:reduce){.fade,.stage,.view.on,.mask.on{opacity:1;transform:none;transition:none;animation:none}} @media (prefers-reduced-motion:reduce){.fade,.stage,.view.on,.mask.on{opacity:1;transform:none;transition:none;animation:none}}
</style> </style>
<link rel="stylesheet" href="../../topic/_shared/quiz-skin.css?v=26110643"><!-- 11-07 答题页底色 / 卡片 --> <link rel="stylesheet" href="../../topic/_shared/quiz-skin.css?v=26110643"><!-- 11-07 答题页底色 / 卡片 -->
<script src="../../js/host-nav.js?v=26110905"></script> <script src="../../js/host-nav.js?v=26110907"></script>
</head> </head>
<body> <body>
<svg class="hide" aria-hidden="true" xmlns="http://www.w3.org/2000/svg"> <svg class="hide" aria-hidden="true" xmlns="http://www.w3.org/2000/svg">

View File

@@ -3,7 +3,7 @@
<head> <head>
<meta charset="utf-8"> <meta charset="utf-8">
<!-- 11-04 UGC 总开关关着时本页不展示,直接回首页(js/ugc.js) --> <!-- 11-04 UGC 总开关关着时本页不展示,直接回首页(js/ugc.js) -->
<script src="../js/host-nav.js?v=26110905"></script> <script src="../js/host-nav.js?v=26110907"></script>
<script src="../js/login-gate.js?v=26110610"></script> <script src="../js/login-gate.js?v=26110610"></script>
<script src="../js/ugc.js?v=26110702" data-guard></script> <script src="../js/ugc.js?v=26110702" data-guard></script>
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no,viewport-fit=cover"> <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no,viewport-fit=cover">

View File

@@ -19,7 +19,7 @@
<script src="https://res.wx.qq.com/open/js/jweixin-1.6.0.js"></script> <script src="https://res.wx.qq.com/open/js/jweixin-1.6.0.js"></script>
<!-- 共享助手:授权/跳商城/位置上报(分享卡片同步,见 docs/h5-auth-standard.md 第四节) --> <!-- 共享助手:授权/跳商城/位置上报(分享卡片同步,见 docs/h5-auth-standard.md 第四节) -->
<script src="/common/wx-auth.js?v=26102601"></script> <script src="/common/wx-auth.js?v=26102601"></script>
<script src="js/host-nav.js?v=26110905"></script> <script src="js/host-nav.js?v=26110907"></script>
<script src="js/login-gate.js?v=26110618"></script> <script src="js/login-gate.js?v=26110618"></script>
<!-- 11-05 用户:「消消乐的推广 banner 图,不要有外面白色的边框」→ 去掉 .game-promo 外层白底(mama-box.css 里和其他模块共用一条白底规则,这里单独盖掉;夜间同) --> <!-- 11-05 用户:「消消乐的推广 banner 图,不要有外面白色的边框」→ 去掉 .game-promo 外层白底(mama-box.css 里和其他模块共用一条白底规则,这里单独盖掉;夜间同) -->
<style>.game-promo,html.night .game-promo{background:none!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important} <style>.game-promo,html.night .game-promo{background:none!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}

View File

@@ -27,7 +27,7 @@
function mp() { return g.wx && g.wx.miniProgram; } function mp() { return g.wx && g.wx.miniProgram; }
function inMp() { return g.__wxjs_environment === 'miniprogram' || /miniProgram/i.test(navigator.userAgent); } function inMp() { return g.__wxjs_environment === 'miniprogram' || /miniProgram/i.test(navigator.userAgent); }
function inView() { return /[?&]_hv=1(&|$)/.test(location.search); } function inView() { return /[?&]_hv=1(&|$)/.test(location.search); }
var OK = 'mbhost.open', CK = 'mbhost.child'; var OK = 'mbhost.open', CK = 'mbhost.child', POS = 'mmbox.homepos.v1'; /* POS:首页跳走前记的滚动位置(mama-box app.js saveHomePos) */
function key(href) { /* 比对用:去掉容器注入的身份 / 时间戳参数 */ function key(href) { /* 比对用:去掉容器注入的身份 / 时间戳参数 */
var u = new URL(href, location.href); var u = new URL(href, location.href);
['openid', 'unionid', 't', '_v', '__no_identity'].forEach(function (k) { u.searchParams.delete(k); }); ['openid', 'unionid', 't', '_v', '__no_identity'].forEach(function (k) { u.searchParams.delete(k); });
@@ -40,6 +40,8 @@
try { try {
var m = JSON.parse(localStorage.getItem(OK) || 'null'); var m = JSON.parse(localStorage.getItem(OK) || 'null');
if (m && Date.now() - m.at < 30000 && key(m.u) === key(location.href)) { sessionStorage.setItem(CK, '1'); localStorage.removeItem(OK); } if (m && Date.now() - m.at < 30000 && key(m.u) === key(location.href)) { sessionStorage.setItem(CK, '1'); localStorage.removeItem(OK); }
/* 11-09 用户:复制链接 / 分享直接打开的页面,返回首页就停在顶部,不要回到「自己上次点进笔记时」的首页位置 */
if (!isChild()) localStorage.removeItem(POS);
} catch (e) {} } catch (e) {}
})(); })();
function toHome(fallback) { function toHome(fallback) {

View File

@@ -6,7 +6,7 @@
*/ */
(function () { (function () {
/* 11-09 小程序「复制链接」直达:加载 js/host-nav.js(容器页返回走 navigateBack、页内链接开容器页) */ /* 11-09 小程序「复制链接」直达:加载 js/host-nav.js(容器页返回走 navigateBack、页内链接开容器页) */
try { if (!window.MBHost && document.currentScript) { var hs = document.createElement('script'); hs.src = new URL('../../js/host-nav.js?v=26110905', document.currentScript.src).href; document.head.appendChild(hs); } } catch (e) {} try { if (!window.MBHost && document.currentScript) { var hs = document.createElement('script'); hs.src = new URL('../../js/host-nav.js?v=26110907', document.currentScript.src).href; document.head.appendChild(hs); } } catch (e) {}
'use strict'; 'use strict';
var D = window.TOPIC; var D = window.TOPIC;
if (!D) return; if (!D) return;

View File

@@ -3,7 +3,7 @@
(function (g) { (function (g) {
'use strict'; 'use strict';
/* 11-09 小程序「复制链接」直达:加载 js/host-nav.js(容器页返回走 navigateBack、页内链接开容器页) */ /* 11-09 小程序「复制链接」直达:加载 js/host-nav.js(容器页返回走 navigateBack、页内链接开容器页) */
try { if (!window.MBHost && document.currentScript) { var hs = document.createElement('script'); hs.src = new URL('../../js/host-nav.js?v=26110905', document.currentScript.src).href; document.head.appendChild(hs); } } catch (e) {} try { if (!window.MBHost && document.currentScript) { var hs = document.createElement('script'); hs.src = new URL('../../js/host-nav.js?v=26110907', document.currentScript.src).href; document.head.appendChild(hs); } } catch (e) {}
var $ = function (s) { return document.querySelector(s); }; var $ = function (s) { return document.querySelector(s); };
var DAY = 864e5; var DAY = 864e5;
function today() { var n = new Date(Date.now() + 288e5); return Date.UTC(n.getUTCFullYear(), n.getUTCMonth(), n.getUTCDate()); } function today() { var n = new Date(Date.now() + 288e5); return Date.UTC(n.getUTCFullYear(), n.getUTCMonth(), n.getUTCDate()); }

View File

@@ -171,7 +171,7 @@ b{color:var(--h)}
.nu:active,.nc li:active{transform:scale(.98)} .nu:active,.nc li:active{transform:scale(.98)}
@media (prefers-reduced-motion:reduce){.fade,.fade .fi{opacity:1;transform:none;transition:none}} @media (prefers-reduced-motion:reduce){.fade,.fade .fi{opacity:1;transform:none;transition:none}}
</style> </style>
<script src="../../js/host-nav.js?v=26110905"></script> <script src="../../js/host-nav.js?v=26110907"></script>
</head> </head>
<body> <body>
<!-- 单色线性图标,stroke 1.8 --> <!-- 单色线性图标,stroke 1.8 -->

View File

@@ -178,7 +178,7 @@ mark{background:linear-gradient(transparent 62%,var(--c20) 0);color:inherit;padd
@media (prefers-reduced-motion:reduce){.fade,.stage,.view.on,.mask.on{opacity:1;transform:none;transition:none;animation:none}} @media (prefers-reduced-motion:reduce){.fade,.stage,.view.on,.mask.on{opacity:1;transform:none;transition:none;animation:none}}
</style> </style>
<link rel="stylesheet" href="../_shared/quiz-skin.css?v=26110643"><!-- 11-07 答题页底色 / 卡片 --> <link rel="stylesheet" href="../_shared/quiz-skin.css?v=26110643"><!-- 11-07 答题页底色 / 卡片 -->
<script src="../../js/host-nav.js?v=26110905"></script> <script src="../../js/host-nav.js?v=26110907"></script>
</head> </head>
<body> <body>
<!-- 单色线性图标(每题一个场景图标 q-*) --> <!-- 单色线性图标(每题一个场景图标 q-*) -->

View File

@@ -179,7 +179,7 @@ mark{background:linear-gradient(transparent 62%,var(--c20) 0);color:inherit;padd
@media (prefers-reduced-motion:reduce){.fade,.stage,.view.on,.mask.on{opacity:1;transform:none;transition:none;animation:none}} @media (prefers-reduced-motion:reduce){.fade,.stage,.view.on,.mask.on{opacity:1;transform:none;transition:none;animation:none}}
</style> </style>
<link rel="stylesheet" href="../_shared/quiz-skin.css?v=26110643"><!-- 11-07 答题页底色 / 卡片 --> <link rel="stylesheet" href="../_shared/quiz-skin.css?v=26110643"><!-- 11-07 答题页底色 / 卡片 -->
<script src="../../js/host-nav.js?v=26110905"></script> <script src="../../js/host-nav.js?v=26110907"></script>
</head> </head>
<body> <body>
<!-- 单色线性图标(每题一个场景图标 q-*) --> <!-- 单色线性图标(每题一个场景图标 q-*) -->

View File

@@ -278,7 +278,7 @@ h1 .mk{background:linear-gradient(transparent 64%,rgba(24,160,88,.24) 0)}
.mask .row button,.mask .row a{height:34px;padding:0 18px;border-radius:99px;border:1px solid rgba(255,255,255,.6);color:#fff;font-size:13.5px;line-height:32px;text-decoration:none} .mask .row button,.mask .row a{height:34px;padding:0 18px;border-radius:99px;border:1px solid rgba(255,255,255,.6);color:#fff;font-size:13.5px;line-height:32px;text-decoration:none}
@media (prefers-reduced-motion:reduce){.screen.on,.mask.on{animation:none}.fu{opacity:1;transform:none;transition:none}} @media (prefers-reduced-motion:reduce){.screen.on,.mask.on{animation:none}.fu{opacity:1;transform:none;transition:none}}
</style> </style>
<script src="../../js/host-nav.js?v=26110905"></script> <script src="../../js/host-nav.js?v=26110907"></script>
</head> </head>
<body> <body>
<svg class="hide" aria-hidden="true" xmlns="http://www.w3.org/2000/svg"> <svg class="hide" aria-hidden="true" xmlns="http://www.w3.org/2000/svg">

View File

@@ -45,7 +45,7 @@ button{font:inherit;border:0;background:none;color:inherit;cursor:pointer}
.mb-brand{text-align:center;color:#C29A8F;font-size:11.5px;line-height:1.7}.mb-brand img{display:block;width:86px;height:auto;margin:0 auto 6px;opacity:.6}.mb-brand p{display:flex;align-items:center;justify-content:center;gap:8px;margin:0;letter-spacing:.06em}.mb-brand p::before,.mb-brand p::after{content:'';width:28px;height:1px;background:#EAD3CC} .mb-brand{text-align:center;color:#C29A8F;font-size:11.5px;line-height:1.7}.mb-brand img{display:block;width:86px;height:auto;margin:0 auto 6px;opacity:.6}.mb-brand p{display:flex;align-items:center;justify-content:center;gap:8px;margin:0;letter-spacing:.06em}.mb-brand p::before,.mb-brand p::after{content:'';width:28px;height:1px;background:#EAD3CC}
#scroll .mb-brand{margin:20px 0 0;padding-bottom:calc(120px + env(safe-area-inset-bottom))} /* 给底部 Tab 让位 */ #scroll .mb-brand{margin:20px 0 0;padding-bottom:calc(120px + env(safe-area-inset-bottom))} /* 给底部 Tab 让位 */
</style> </style>
<script src="../../js/host-nav.js?v=26110905"></script> <script src="../../js/host-nav.js?v=26110907"></script>
</head> </head>
<body> <body>
<div id="scroll"> <div id="scroll">

View File

@@ -184,7 +184,7 @@ h2{font-size:18px;font-weight:700;line-height:1.4;color:var(--ink)}
@media (prefers-reduced-motion:reduce){.fade{opacity:1;transform:none;transition:none}} @media (prefers-reduced-motion:reduce){.fade{opacity:1;transform:none;transition:none}}
@media (max-width:370px){h1{font-size:26px}.pt b{font-size:13.5px}.bm{padding:9px 8px 11px}.bm .v{font-size:18px}} @media (max-width:370px){h1{font-size:26px}.pt b{font-size:13.5px}.bm{padding:9px 8px 11px}.bm .v{font-size:18px}}
</style> </style>
<script src="../../js/host-nav.js?v=26110905"></script> <script src="../../js/host-nav.js?v=26110907"></script>
</head> </head>
<body> <body>
<!-- 单色线性图标:stroke 1.8,颜色走 .ic(主色) --> <!-- 单色线性图标:stroke 1.8,颜色走 .ic(主色) -->

View File

@@ -197,7 +197,7 @@ mark{background:linear-gradient(transparent 62%,var(--c20) 0);color:inherit;padd
.care p+p{margin-top:8px} .care p+p{margin-top:8px}
</style> </style>
<link rel="stylesheet" href="../_shared/quiz-skin.css?v=26110643"><!-- 11-07 答题页底色 / 卡片 --> <link rel="stylesheet" href="../_shared/quiz-skin.css?v=26110643"><!-- 11-07 答题页底色 / 卡片 -->
<script src="../../js/host-nav.js?v=26110905"></script> <script src="../../js/host-nav.js?v=26110907"></script>
</head> </head>
<body> <body>
<!-- 单色线性图标(每题一个场景图标 q-*) --> <!-- 单色线性图标(每题一个场景图标 q-*) -->

View File

@@ -178,7 +178,7 @@ h1 em{font-style:normal;background:linear-gradient(transparent 62%,rgba(240,138,
.fade.in{opacity:1;transform:none} .fade.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.fade{opacity:1;transform:none;transition:none}.amt .tr i{transform:none;transition:none}} @media (prefers-reduced-motion:reduce){.fade{opacity:1;transform:none;transition:none}.amt .tr i{transform:none;transition:none}}
</style> </style>
<script src="../../js/host-nav.js?v=26110905"></script> <script src="../../js/host-nav.js?v=26110907"></script>
</head> </head>
<body> <body>
<svg width="0" height="0" style="position:absolute" aria-hidden="true"> <svg width="0" height="0" style="position:absolute" aria-hidden="true">

View File

@@ -196,7 +196,7 @@ mark{background:linear-gradient(transparent 62%,var(--c20) 0);color:inherit;padd
.warn{margin-top:20px;padding:10px 14px;border-radius:14px;background:var(--cbg);color:#4F7F2A;font-size:13px;line-height:1.6;text-align:center} .warn{margin-top:20px;padding:10px 14px;border-radius:14px;background:var(--cbg);color:#4F7F2A;font-size:13px;line-height:1.6;text-align:center}
</style> </style>
<link rel="stylesheet" href="../_shared/quiz-skin.css?v=26110643"><!-- 11-07 答题页底色 / 卡片 --> <link rel="stylesheet" href="../_shared/quiz-skin.css?v=26110643"><!-- 11-07 答题页底色 / 卡片 -->
<script src="../../js/host-nav.js?v=26110905"></script> <script src="../../js/host-nav.js?v=26110907"></script>
</head> </head>
<body> <body>
<!-- 单色线性图标(每题一个场景图标 q-*) --> <!-- 单色线性图标(每题一个场景图标 q-*) -->

View File

@@ -72,7 +72,7 @@ button{cursor:pointer}
.foot{margin:14px 20px 0;font-size:12px;color:var(--m);text-align:center;line-height:1.6} .foot{margin:14px 20px 0;font-size:12px;color:var(--m);text-align:center;line-height:1.6}
</style> </style>
<link rel="stylesheet" href="../_shared/wizard.css?v=26110464"> <link rel="stylesheet" href="../_shared/wizard.css?v=26110464">
<script src="../../js/host-nav.js?v=26110905"></script> <script src="../../js/host-nav.js?v=26110907"></script>
</head> </head>
<body> <body>
<svg style="position:absolute;width:0;height:0" aria-hidden="true"><symbol id="i-back" viewBox="0 0 24 24"><path d="M15 5l-7 7 7 7"/></symbol></svg> <svg style="position:absolute;width:0;height:0" aria-hidden="true"><symbol id="i-back" viewBox="0 0 24 24"><path d="M15 5l-7 7 7 7"/></symbol></svg>

View File

@@ -205,7 +205,7 @@ html.cm:not(.cm-all) .cm-more{display:flex;align-items:center;justify-content:ce
<!-- 11-04 计算器模式(calc=1)走分步:一步一题、最后出结果,见 ../_shared/wizard.js --> <!-- 11-04 计算器模式(calc=1)走分步:一步一题、最后出结果,见 ../_shared/wizard.js -->
<link rel="stylesheet" href="../_shared/wizard.css?v=26110464"> <link rel="stylesheet" href="../_shared/wizard.css?v=26110464">
<script src="../_shared/wizard.js?v=26110464"></script> <script src="../_shared/wizard.js?v=26110464"></script>
<script src="../../js/host-nav.js?v=26110905"></script> <script src="../../js/host-nav.js?v=26110907"></script>
</head> </head>
<body> <body>
<svg class="hide" aria-hidden="true" xmlns="http://www.w3.org/2000/svg"> <svg class="hide" aria-hidden="true" xmlns="http://www.w3.org/2000/svg">

View File

@@ -197,7 +197,7 @@ mark{background:linear-gradient(transparent 62%,var(--c20) 0);color:inherit;padd
@media (prefers-reduced-motion:reduce){.fade,.stage,.view.on,.mask.on{opacity:1;transform:none;transition:none;animation:none}} @media (prefers-reduced-motion:reduce){.fade,.stage,.view.on,.mask.on{opacity:1;transform:none;transition:none;animation:none}}
</style> </style>
<link rel="stylesheet" href="../_shared/quiz-skin.css?v=26110643"><!-- 11-07 答题页底色 / 卡片 --> <link rel="stylesheet" href="../_shared/quiz-skin.css?v=26110643"><!-- 11-07 答题页底色 / 卡片 -->
<script src="../../js/host-nav.js?v=26110905"></script> <script src="../../js/host-nav.js?v=26110907"></script>
</head> </head>
<body> <body>
<!-- 单色线性图标(每题一个场景图标 q-*) --> <!-- 单色线性图标(每题一个场景图标 q-*) -->