So I read the documentation about including an external Javascript file directly in the module manifest yourApplication.gwt.xml (http://code.google.com/webtoolkit/doc/latest/DevGuideOrganizingProjects.html)
I have this javascript file called iscroll.js and stored in the war/ folder of the GWT project.
I added the line to the module's manifest of my GWT application:
<script src="iscroll.js"/>
Then from the onModuleLoad()
method I call this native JSNI method:
private native void initJavascript() /*-{
$wnd.myScroll = new iScroll('jokeWrapperLabel');
}-*/;
Then when I run the code in the browser I keep getting "iScroll is undefined".
Any idea what am I doing wrong?
This is the output of the "iScroll is undefined error"
18:32:41.780 [ERROR] [jollyjokesprogwt] Unable to load module entry point class com.wanderlust.jollyjokespro.gwt.client.JollyJokesProGWT (see associated exception for details)
com.google.gwt.core.client.JavaScriptException: (ReferenceError): iScroll is not defined
stack: ReferenceError: iScroll is not defined
at [object Object].<anonymous> (unknown source)
at __gwt_jsInvoke (http://127.0.0.1:8888/jollyjokesprogwt/hosted.html?jollyjokesprogwt:76:35)
at http://127.0.0.1:8888/jollyjokesprogwt/hosted.html?jollyjokesprogwt:280:16
at C (http://127.0.0.1:8888/jollyjokesprogwt/jollyjokesprogwt.nocache.js:2:148)
at http://127.0.0.1:8888/jollyjokesprogwt/jollyjokesprogwt.nocache.js:8:593
type: not_defined
arguments: iScroll
__gwt_ObjectId: 91
at com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:237)
at com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:126)
at com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:561)
at com.google.gwt.dev.shell.ModuleSpace.invokeNativeVoid(ModuleSpace.java:289)
at com.google.gwt.dev.shell.JavaScriptHost.invokeNativeVoid(JavaScriptHost.java:107)
at com.wanderlust.jollyjokespro.gwt.client.JollyJokesProGWT.initJavascript(JollyJokesProGWT.java)
at com.wanderlust.jollyjokespro.gwt.client.JollyJokesProGWT.onModuleLoad(JollyJokesProGWT.java:228)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.google.gwt.dev.shell.ModuleSpace.onLoad(ModuleSpace.java:396)
at com.google.gwt.dev.shell.OophmSessionHandler.loadModule(OophmSessionHandler.java:183)
at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:510)
at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:352)
at java.lang.Thread.run(Unknown Source)
You need to place the JavaScript file in a public folder, see this stackoverflow answer on how that works: gwt and javascript files
and the call to iScroll(..
must be $wnd.iScroll(..
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With