I create a JSoup Document which includes two <script type="application/javascript">/* .. */</script>
elements.
The Issue: When I call .html()
or .toString()
JSoup will escape my JavaScript.
if (foo && bar)
gets
if (foo && bar)
Is it possible to configure JSoup to ignore <script>
Elements while escaping??
This is (basically) how I create my jsoup document.
final Document doc = Document.createShell("");
final Element head = doc.head();
head.appendElement("meta").attr("charset", "utf-8");
final String myJS = ...;
head.appendElement("script").attr("type", "application/javascript").text(myJS);
My current workaround is to replace a placeholder with String.replace
on .html()
. But this is kinda hacky.
head.appendElement("script").attr("type", "application/javascript").text("$MYJS$");
String s = doc.html();
s = s.replace("$MYJS$", myJS);
The outerHtmlHead method can no longer be overridden.
This is what I use:
head
.appendElement("script")
.attr("type","text/javascript")
.appendChild(new DataNode(getJavaScript(),""));
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With