javascript - 在GWT中用JS显示HTML代码

标签 javascript java html gwt

我想在 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/

相关文章:

javascript - 防止 useEffect Hook 在 ComponentDidMount() 上运行

javascript - 使用带有提交按钮和重置按钮的 JavaScript 计算表单中的两个字段

javascript - jquery slider 开始加速

java - 在 java web 中用一个命令删除所有 session 属性

java - 替换 Arraylist 中的空值

html - 当我从 html 转换为 PDF 时,换行符没有出现在转换后的 PDF 页面中,正如我在 HTML 页面中看到的那样

javascript - 打开多个不同的 iframe

javascript - 带 header 认证的跨域请求

java - 使用循环更新 Excel 文件

html - 无法将表单放入 Bootstrap 中的框中