fix(compiler-dom): fix in-browser attribute value decoding w/ html tags
fix #3001
This commit is contained in:
@@ -2,7 +2,15 @@
|
||||
|
||||
let decoder: HTMLDivElement
|
||||
|
||||
export function decodeHtmlBrowser(raw: string): string {
|
||||
;(decoder || (decoder = document.createElement('div'))).innerHTML = raw
|
||||
return decoder.textContent as string
|
||||
export function decodeHtmlBrowser(raw: string, asAttr = false): string {
|
||||
if (!decoder) {
|
||||
decoder = document.createElement('div')
|
||||
}
|
||||
if (asAttr) {
|
||||
decoder.innerHTML = `<div foo="${raw.replace(/"/g, '"')}">`
|
||||
return decoder.children[0].getAttribute('foo') as string
|
||||
} else {
|
||||
decoder.innerHTML = raw
|
||||
return decoder.textContent as string
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user