UNPKG

neweb

Version:

[![NPM version][npm-image]][npm-url] [![Build Status][travis-image]][travis-url] [![Dependency Status][daviddm-image]][daviddm-url] [![Coverage percentage][coveralls-image]][coveralls-url] [![experimental](http://badges.github.io/stability-badges/dist/ex

33 lines (32 loc) 1.19 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); class ClientPageMetaManager { update(page) { document.title = page.title || ""; const head = document.getElementsByTagName("head")[0]; let isStartRemove = false; let metaEndNode; for (const child of head.childNodes) { if (isStartRemove) { if (child.nodeType === 8 && child.nodeValue === "__page_meta_end__") { metaEndNode = child; break; } head.removeChild(child); continue; } if (child.nodeType === 8 && child.nodeValue === "__page_meta_start__") { isStartRemove = true; } } if (page.meta && page.meta.length > 0 && metaEndNode) { for (const meta of page.meta) { const metaEl = document.createElement("meta"); metaEl.name = meta.name; metaEl.content = meta.content; head.insertBefore(metaEl, metaEndNode); } } } } exports.default = ClientPageMetaManager;