我想在 HTMLPanel 元素中包含 Javascript 代码,但它不起作用。请你帮助我好吗?提前致谢。

脚本/pro.js

alert('hello');

WITH HTMLPANEL 不起作用(不显示警报)

MyPage.java(这是 MyPage.html 的入口点)
String preHtml="<script type=\"text/javascript\" src=\"Scripts/pro.js\"></script>";
HTMLPanel prePanel=new HTMLPanel(preHtml);
RootPanel.get("scriptContainer").add(prePanel);

MyPage.html
<td align="left" valign="top" id="scriptContainer"></td>

没有 HTMLPANEL 可以工作(显示警报)

MyPage.html
<td align="left" valign="top"><script type="text/javascript" src="Scripts/pro.js"></script></td>

最佳答案

我认为它应该是相反的。引用 javadocs 的 HTMLPanel



应该包装您的容器而不是您的脚本。除非您绝对有理由使用 HTMLPanel 来包装脚本,否则下面的示例是有效的。

HTMLPanel html = new HTMLPanel("<table><tr><td id='scriptContainer'></td></tr></table>");
RootPanel.get().add(html);
Element script = DOM.createElement("script");
DOM.setElementAttribute(script,"language","JavaScript");
DOM.setElementAttribute(script,"src","Scripts/pro.js");
DOM.appendChild(DOM.getElementById("scriptContainer"),script);

10-06 08:12