1

以下 gwt jsni 方法代码仅在我打开 firebug 时“起作用”,我认为是因为它减慢了页面渲染速度,足以让外部 js 文件完成加载。

我做错了什么,它没有等待 jquery 插件在尝试执行之前完成加载?

private native void makeHtml(Element element)
/*-{
  $wnd.$().ready(function(){
    try{
      $wnd.$(element).wmd({"preview": true});
      alert(1);
    }
    catch(e)
    {
      alert(e);
    }
  });
}-*/;
4

2 回答 2

1

我在 GWT 中遇到了 jQuery UI 的一些问题,因为例如数组没有像 jQuery(UI?)需要的那样扩展(请注意,JSNI 代码是在沙箱 = iframe 中执行的)。尝试将有问题的代码放在主/主机 HTML 页面中的函数中,并通过 JSNI 和 $wnd 从 Java/GWT 代码中调用它 - 如果这有帮助,那么您可能会遇到我遇到的相同问题(在这种情况下,您'可能不得不“导出” GWT 代码之外的所有 JSNI 函数,并将它们包装在 JSNI 调用中)。

HTH,如果没有,我们会想到别的;)

于 2010-01-16T00:34:28.220 回答
1

在您的小部件中,创建一个onLoad()调用 jsni 的方法。

于 2010-08-29T08:37:45.323 回答