mirror of
https://github.com/kevin-DL/sapper.git
synced 2026-01-18 13:35:08 +00:00
detach SSRd <head> contents
This commit is contained in:
@@ -64,11 +64,12 @@ module.exports = function connect(opts) {
|
|||||||
let data = { params: req.params, query: req.query };
|
let data = { params: req.params, query: req.query };
|
||||||
if (mod.default.preload) data = Object.assign(data, await mod.default.preload(data));
|
if (mod.default.preload) data = Object.assign(data, await mod.default.preload(data));
|
||||||
|
|
||||||
const { html, css } = mod.default.render(data);
|
const { html, head, css } = mod.default.render(data);
|
||||||
|
|
||||||
const page = templates.render(200, {
|
const page = templates.render(200, {
|
||||||
main,
|
main,
|
||||||
html,
|
html,
|
||||||
|
head: `<noscript id='sapper-head-start'></noscript>${head}<noscript id='sapper-head-end'></noscript>`,
|
||||||
styles: (css && css.code ? `<style>${css.code}</style>` : '')
|
styles: (css && css.code ? `<style>${css.code}</style>` : '')
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
const router = {
|
const app = {
|
||||||
init(callback) {
|
init(callback) {
|
||||||
window.addEventListener('click', event => {
|
window.addEventListener('click', event => {
|
||||||
let a = event.target;
|
let a = event.target;
|
||||||
@@ -19,6 +19,4 @@ const router = {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
window.router = router;
|
export default app;
|
||||||
|
|
||||||
export default router;
|
|
||||||
@@ -1,9 +1,10 @@
|
|||||||
import router from 'sapper/runtime/router.js';
|
import app from 'sapper/runtime/app.js';
|
||||||
|
import { detachNode } from 'svelte/shared.js';
|
||||||
|
|
||||||
const target = document.querySelector('__selector__');
|
const target = document.querySelector('__selector__');
|
||||||
let component;
|
let component;
|
||||||
|
|
||||||
router.init(url => {
|
app.init(url => {
|
||||||
if (url.origin !== window.location.origin) return;
|
if (url.origin !== window.location.origin) return;
|
||||||
|
|
||||||
let match;
|
let match;
|
||||||
@@ -19,6 +20,16 @@ router.init(url => {
|
|||||||
if (component) {
|
if (component) {
|
||||||
component.destroy();
|
component.destroy();
|
||||||
} else {
|
} else {
|
||||||
|
// remove SSR'd <head> contents
|
||||||
|
const start = document.querySelector('#sapper-head-start');
|
||||||
|
let end = document.querySelector('#sapper-head-end');
|
||||||
|
|
||||||
|
if (start && end) {
|
||||||
|
while (start.nextSibling !== end) detachNode(start.nextSibling);
|
||||||
|
detachNode(start);
|
||||||
|
detachNode(end);
|
||||||
|
}
|
||||||
|
|
||||||
target.innerHTML = '';
|
target.innerHTML = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user