v26110903 广场/专题/计算器/测一测在小程序里也开容器页,复制链接直达;容器页返回走 navigateBack

新增 js/host-nav.js(MBHost.open/back/home + 页内同站 <a> 拦截):
- 首页进广场、专题问题、百宝箱测一测/计算器 → 容器页;广场点笔记 → 容器页 ?n=
- 容器页(_hv=1)里笔记关闭、广场/专题/计算器返回 → navigateBack;广场「返回」tab → switchTab 首页
- 失败或不在小程序照旧本页跳转

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
deploy
2026-11-09 14:06:03 +00:00
parent 17a845621a
commit 7cc154d9b3
9 changed files with 117 additions and 14 deletions

View File

@@ -5,6 +5,8 @@
* 自成一页:不引 app.js;返回回 ../../;工具跳转走 ../_shared/tools.js(同源路径 + search + hash)。
*/
(function () {
/* 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=26110902', document.currentScript.src).href; document.head.appendChild(hs); } } catch (e) {}
'use strict';
var D = window.TOPIC;
if (!D) return;
@@ -131,6 +133,7 @@
var sc = $('#scroll');
$('#back').addEventListener('click', function () {
if (window.MBHost && MBHost.back(function () { location.href = '../../' + location.search + location.hash; })) return; /* 11-09 容器页:回小程序上一页 */
if (document.referrer && document.referrer.indexOf(location.host) >= 0 && history.length > 1) history.back();
else location.href = '../../' + location.search + location.hash;
});

View File

@@ -2,6 +2,8 @@
页面:<script src="../_shared/calc.js"></script> 之后用 window.CK。 */
(function (g) {
'use strict';
/* 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=26110902', document.currentScript.src).href; document.head.appendChild(hs); } } catch (e) {}
var $ = function (s) { return document.querySelector(s); };
var DAY = 864e5;
function today() { var n = new Date(Date.now() + 288e5); return Date.UTC(n.getUTCFullYear(), n.getUTCMonth(), n.getUTCDate()); }
@@ -37,6 +39,7 @@
function shell() {
var sc = $('#scroll');
$('#back').addEventListener('click', function () {
if (window.MBHost && MBHost.back(function () { location.href = '../jisuan/' + location.search + location.hash; })) return; /* 11-09 容器页:回小程序上一页 */
if (document.referrer && document.referrer.indexOf(location.host) >= 0 && history.length > 1) history.back();
else location.href = '../jisuan/' + location.search + location.hash;
});