Aller au contenu

nonce

Pour une page dont la politique de sécurité du contenu n’accepte les styles qu’avec le nonce qu’elle donne.

Typestring
Par défautnon défini
Modifiable en direct (update())Non — lu une fois, à la création de la grille
Angularl’entrée [nonce]
<dz-grid>la propriété settings : el.settings = { nonce: … }
Déclaré danspackages/dom/src/settings.ts

La grille et ses fonctions écrivent leurs règles de mise en page dans des éléments <style>. Sous une politique comme style-src 'nonce-r4nd0m', le navigateur ignore un <style> sans ce nonce. Donnez le nonce de la page : la grille le met sur chaque <style> qu’elle écrit, ceux de ses fonctions compris, et le navigateur les applique.

Le nonce est celui du serveur, nouveau à chaque page servie ; la grille ne fait que le transmettre. Il est lu une fois, à la création de la grille : update() refuse un changement. Une politique qui n’accepte aucun <style> demande plutôt injectStyles: false.

import { createGrid } from '@dzgrid/dom';
import { FR } from '@dzgrid/dom/locales/fr';
type Log = { id: string; message: string; level: number };
createGrid<Log>(document.getElementById('journal')!, {
rows: [{ id: 'l1', message: 'Pompe démarrée', level: 1 }],
columns: [{ id: 'message', header: 'Message' }, { id: 'level', header: 'Niveau', type: 'number' }],
getRowId: (l) => l.id,
messages: FR,
nonce: document.querySelector<HTMLMetaElement>('meta[name=csp-nonce]')?.content ?? '', // votre serveur l’écrit dans la page
});