Javascript 如何创建包含JS的JSoup文档?
我创建了一个JSoup文档,其中包括两个Javascript 如何创建包含JS的JSoup文档?,javascript,java,jsoup,Javascript,Java,Jsoup,我创建了一个JSoup文档,其中包括两个/**/元素 问题是:当我调用.html()或.toString()JSoup时,我的JavaScript将退出 if (foo && bar) 得到 是否可以将JSoup配置为在转义时忽略元素 这就是(基本上)我创建jsoup文档的方式 final Document doc = Document.createShell(""); final Element head = doc.head(); head.appendElement(
/**/代码>元素
问题是:当我调用.html()
或.toString()
JSoup时,我的JavaScript将退出
if (foo && bar)
得到
是否可以将JSoup配置为在转义时忽略
元素
这就是(基本上)我创建jsoup文档的方式
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);
我当前的解决方法是用字符串替换占位符。在.html()
上替换。但这有点骇人
head.appendElement("script").attr("type", "application/javascript").text("$MYJS$");
String s = doc.html();
s = s.replace("$MYJS$", myJS);
无法再重写outerHtmlHead方法
这就是我使用的:
head
.appendElement("script")
.attr("type","text/javascript")
.appendChild(new DataNode(getJavaScript(),""));
我已经更新了我的答案。我本以为.text()会起作用。我觉得这是一只虫子。text()不应进行html编码。
head
.appendElement("script")
.attr("type","text/javascript")
.appendChild(new DataNode(getJavaScript(),""));