首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery经ScriptInjector注射

jQuery经ScriptInjector注射
EN

Stack Overflow用户
提问于 2013-11-23 15:55:16
回答 2查看 2.7K关注 0票数 0

当试图通过jQuery注入ScriptInjector时,当通过JSNI调用$wnd.$时,引发的错误如下:

由: com.google.gwt.core.client.JavaScriptException:(TypeError):Object object全局没有方法'$‘at com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:248) at com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:136) at com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:561) at com.google.gwt.dev.shell.ModuleSpace.invokeNativeVoid(com.google.gwt.dev.shell.JavaScriptHost.invokeNativeVoid(JavaScriptHost.java:107) ( ModuleSpace.java:289)

下面是注入jQuery的代码:

代码语言:javascript
复制
ScriptInjector.fromUrl("http://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js")
            .setWindow(ScriptInjector.TOP_WINDOW).setCallback(new Callback<Void, Exception>() {
                @Override
                public void onSuccess(Void arg0) {
                    GWT.log("Success to load jQuery library");
                    ScriptInjector.fromUrl("http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.23/jquery-ui.min.js").setWindow(ScriptInjector.TOP_WINDOW).inject(); 
                }

                @Override
                public void onFailure(Exception arg0) {
                    GWT.log("Failed to load jQuery library");
                }
            }).inject();

有什么问题吗?

EN

回答 2

Stack Overflow用户

发布于 2013-11-24 22:05:07

正确的语法是使用$wnd.jQuery而不是$wnd.$,我认为它与在gwt iframe中保留$有关。

票数 1
EN

Stack Overflow用户

发布于 2013-11-24 09:07:41

尝试在成功回调中加载jquery片段代码,即当jquery结束时加载。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20164434

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档