Text escaping of $& becomes ><
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 35/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Stack tecnologico
- javascript
- Ambito
- web-dev
Direzione di ricerca
Inizia con i percorsi parseHTML, script element, textContent e document.toString() mostrati nella riproduzione. Confronta il risultato serializzato con l'output del browser per il valore var $=1;$\u0026\u0026true. Il lavoro è completato quando la serializzazione dello script conserva $6�? come testo, in modo che il JavaScript SSR inline rimanga valido.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Hello!
I think I have found a slight issue with how text is escaped. using this code:
import { parseHTML } from "https://esm.sh/linkedom"
const { document } = parseHTML('')
document.appendChild(document.createElement('script'))
document.querySelector("script").textContent = 'var $=1;$&&true'
console.log(document.toString())
logs <script>var $=1;><&true</script> as output. $& has been replaced by ><.
If I run similar code in a browser I get <script>var $=1;$&&true</script>. The code I ran in the browser is
var doc = document.createDocumentFragment()
doc.appendChild(document.createElement('script'))
doc.querySelector("script").textContent = 'var $=1;$&&true';
console.log(doc.querySelector("script").outerHTML)
This is a bit problematic for me since it means that inlineing my JS after SSR produces invalid code which will not run.
I have tested it in deno (v1.24.3), node (v18.2.0) and bun.sh (v0.1.11) so I don't think it's anything platform specific.
Thanks!
- Lingua principale
- HTML
- Stelle
- 2.1k
- Fork
- 108
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di WebReflection/linkedom
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 68/100
WebReflection/linkedom#329 · 5 commenti ·
-
`el.style.property = ''` and `e.style.setProperty('property', '')` should delete the propertyAperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 52/100
WebReflection/linkedom#327 · 1 commento ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 48/100
WebReflection/linkedom#326 · 5 commenti ·
-
Build Apps For AI Agent.Aperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 15/100
WebReflection/linkedom#321 · 1 commento ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
WebReflection/linkedom#318 · 6 commenti ·
Tutte le issue di WebReflection/linkedom
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
angular/angularfire#3774 ·
I maintainer di solito rispondono entro 2 giorni
-
ux
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
rr-djk/rr-djuikoo.com#53 ·
I maintainer di solito rispondono entro 1 giorno
-
订阅管理中单个订阅源配置菜单溢出Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
joeseesun/qiaomu-ai-rss#54 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
digitalgroundgame/pragmatic-papers#1035 ·
I maintainer di solito rispondono entro 1 giorno
-
app bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
I maintainer di solito rispondono entro 1 giorno