我想在 GWT 中创建一个基于 HTML 代码的页面。这段代码有一些js代码 及其从 String 对象创建。 我在小部件中创建 HTML 对象:
@UiField
HTML htmlCont;
并将带有 HTML 的字符串放入内容:
htmlCont.setHTML(htmlCode);
它通常可以工作,但是 js 代码不会被解释,当我尝试放置一些东西时 像这样:
<p>Click the button to display an alert box:</p>
<button onclick="clickFun()">Try it</button>
<script>
function clickFun() {
alert("I am an alert box!");
}
</script>
在我的浏览器中出现错误:
Uncaught ReferenceError :clickFun 未定义
我做错了什么?
最佳答案
您无法使用 HTML
元素添加 Javascript 代码,它无法执行。
使用ScriptInjector
添加 JavaScript:
String scriptBody = "var foo = ...";
ScriptInjector.fromString(scriptBody).inject();
<小时/>
理想情况下,您应该自己创建小部件或元素,并使用 GWT 方法将处理程序附加到它们或使用 JSNI .
关于javascript - 在GWT中用JS显示HTML代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37832452/