jquery 准备好不等待插件完成加载
以下 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);
}
});
}-*/;
The following gwt jsni method code only "works" when I have firebug open, I presume because its slowing down the page rendering long enough for the external js files to finish loading.
What am I doing wrong that its not waiting for the jquery plugin to finish loading before attempting to execute?
private native void makeHtml(Element element)
/*-{
$wnd.$().ready(function(){
try{
$wnd.$(element).wmd({"preview": true});
alert(1);
}
catch(e)
{
alert(e);
}
});
}-*/;
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我在 GWT 中使用 jQuery UI 时遇到了一些问题,因为例如数组没有像 jQuery (UI?) 所需的那样扩展(请注意,JSNI 代码是在沙箱 = iframe 中执行的)。尝试将有问题的代码放入主/主机 HTML 页面的函数中,并通过 JSNI 和 $wnd 从 Java/GWT 代码调用它 - 如果这有帮助,那么您可能会遇到我遇到的相同问题(在这种情况下您可能必须将所有 JSNI 函数“导出”到 GWT 代码之外,并将它们包装在 JSNI 调用中)。
HTH,如果没有,我们会想到别的办法;)
I had some problems with jQuery UI in GWT because for example the array was not extended like jQuery (UI?) needed (note that the JSNI code is executed in a sandbox = iframe). Try putting the problematic code in a function in the main/host HTML page and call it from the Java/GWT code via JSNI and $wnd - if that helps, then you might be looking at the same problem I faced (in which case you'd probably have to "export" all your JSNI functions outside of the GWT code and wrap them in JSNI calls).
HTH, if not, we'll think of something else ;)
在您的小部件中,创建一个
onLoad()
方法来调用 jsni。In your widget, create an
onLoad()
method to call the jsni.