当我在Gxt中集成来自设计师工作的Html代码时遇到一些问题,我决定运行非常简单的测试,并开始使用Gwt HtmlPanel,我无法解释为什么包含的javascript没有呈现。< / p>
public class TestHTML implements EntryPoint {
public void onModuleLoad() {
String contenu = "<html>"
+"<head>"
+" <script type='text/javascript'>"
+"function functionOne() { alert('You clicked the top text'); }"
+"function functionTwo() { alert('You clicked the bottom text'); }"
+"</script>"
+"</head>"
+"<body>"
+"<p><a href='#' onClick='functionOne();'>Top Text</a></p>"
+"<p><a href='javascript:functionTwo();'>Bottom Text</a></p>"
+"</body>"
+"</html>";
HTMLPanel htmlPanel = new HTMLPanel(contenu);
ContentPanel content = new ContentPanel();
content.add(htmlPanel);
RootPanel.get().add(content);
}
}
我无法在浏览器中找到javascript函数(我用firebug查看) 有人有答案或建议吗? 此致
答案 0 :(得分:2)
你应该在gwt中使用JSNI。
public void onModuleLoad() {
registerJS();
String contenu = "<html>"
+"<body>"
+"<p><a href='#' onClick='functionOne();'>Top Text</a></p>"
+"<p><a href='javascript:functionTwo();'>Bottom Text</a></p>"
+"</body>"
+"</html>";
HTMLPanel htmlPanel = new HTMLPanel(contenu);
RootPanel.get().add(htmlPanel);
}
public native void registerJS()/*-{
$wnd.functionOne = function(){
alert('you clicked the top text');
}
$wnd.functionTwo = function(){
alert('you clicked the bottom text');
}
}-*/;