fix(mobile): inyectar mobile-ui.js inline en cada página
El WebView de Android cacheaba el archivo /js/mobile-ui.js incluso después de actualizar la APK, evitando que las flechas de paginación aparecieran. Ahora el script se lee del filesystem y se inyecta como <script> inline antes de </body>, eliminando cualquier caché. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
10497a6307
commit
64d3aeb0b1
1 changed files with 18 additions and 2 deletions
|
|
@ -789,7 +789,6 @@ const template = (titlePrefix, ...elements) => {
|
||||||
link({ rel: "stylesheet", href: "/assets/styles/style.css" }),
|
link({ rel: "stylesheet", href: "/assets/styles/style.css" }),
|
||||||
themeLink,
|
themeLink,
|
||||||
link({ rel: "stylesheet", href: "/assets/styles/mobile.css", media: "(max-width: 768px)" }),
|
link({ rel: "stylesheet", href: "/assets/styles/mobile.css", media: "(max-width: 768px)" }),
|
||||||
script({ src: "/js/mobile-ui.js", defer: true }),
|
|
||||||
link({ rel: "icon", href: "/assets/images/favicon.svg" }),
|
link({ rel: "icon", href: "/assets/images/favicon.svg" }),
|
||||||
meta({ charset: "utf-8" }),
|
meta({ charset: "utf-8" }),
|
||||||
meta({ name: "description", content: i18n.oasisDescription }),
|
meta({ name: "description", content: i18n.oasisDescription }),
|
||||||
|
|
@ -1056,8 +1055,25 @@ const template = (titlePrefix, ...elements) => {
|
||||||
renderFooter()
|
renderFooter()
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
return doctypeString + nodes.outerHTML;
|
return doctypeString + nodes.outerHTML.replace(
|
||||||
|
'</body>',
|
||||||
|
'<script>' + getMobileUiInline() + '</script></body>'
|
||||||
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
let _mobileUiCached = null;
|
||||||
|
function getMobileUiInline() {
|
||||||
|
if (_mobileUiCached !== null) return _mobileUiCached;
|
||||||
|
try {
|
||||||
|
const fs = require('fs');
|
||||||
|
const path = require('path');
|
||||||
|
_mobileUiCached = fs.readFileSync(
|
||||||
|
path.join(__dirname, '..', 'client', 'public', 'js', 'mobile-ui.js'),
|
||||||
|
'utf8'
|
||||||
|
);
|
||||||
|
} catch (e) { _mobileUiCached = ''; }
|
||||||
|
return _mobileUiCached;
|
||||||
|
}
|
||||||
// menu END
|
// menu END
|
||||||
|
|
||||||
exports.template = template;
|
exports.template = template;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue