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" }),
|
||||
themeLink,
|
||||
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" }),
|
||||
meta({ charset: "utf-8" }),
|
||||
meta({ name: "description", content: i18n.oasisDescription }),
|
||||
|
|
@ -1056,8 +1055,25 @@ const template = (titlePrefix, ...elements) => {
|
|||
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
|
||||
|
||||
exports.template = template;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue