我想在 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);