2011-08-14 22 views
4

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

脚本/ pro.js

alert('hello'); 

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

MyPage.java(这是在EntryPoint为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> 

WITHOUT HTMLPANEL不工作(显示警报)

的mypage.html

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

回答

4

我想应该是另一种方式周围。该HTMLPanel引用的javadoc

包含HTML,并可以将子部件到HTML中标识 元素的面板。

应该包装你的容器而不是你的脚本。下面的例子工作,除非你绝对有理由使用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); 
+0

我再次尝试,但它不工作。请在编辑的问题中找到更多信息。提前致谢! – Arturo

+1

更新了我的答案,我希望它有帮助 – pistolPanties

+0

辉煌!现在它可以工作。如果我想将这个HTMLPanel添加到MyPage.html的特定点,我应该写

,然后在MyPage.java上做RootPanel.get(“here”).add(html)?它似乎不起作用... – Arturo