如何通过 ScriptInjector 在 GWT 中使用 JS 库?
How to use JS lib in GWT via ScriptInjector?
我想在 GWT 中使用 javascript 库。
我将文件放在 public 文件夹中,以便它在客户端和服务器之间共享,并按照本教程 (https://pelle.io/2015/01/27/integrating-javascript-libraries-into-gwt-using-jsni/) 注入 javscript。
StyleInjector.inject(INSTANCE.fullcalendarCSS().getText());
StyleInjector.inject(INSTANCE.fullcalendarPrintCSS().getText());
StyleInjector.inject(INSTANCE.schedulerCSS().getText());
ScriptInjector.fromString(INSTANCE.jqueryJS().getText()).setWindow(ScriptInjector.TOP_WINDOW).inject();
ScriptInjector.fromString(INSTANCE.momentJS().getText()).setWindow(ScriptInjector.TOP_WINDOW).inject();
ScriptInjector.fromString(INSTANCE.fullcalendarJS().getText()).setWindow(ScriptInjector.TOP_WINDOW).inject();
ScriptInjector.fromString(INSTANCE.scheduleJS().getText()).setWindow(ScriptInjector.TOP_WINDOW).inject();
每次我执行我的 javscriptcode 我都会得到一个 "not a function" 异常。
public static native void drawScheduler() /*-{
var calendar = $doc.getElementById("calendar");
calendar.fullCalendar({
defaultView: 'timelineMonth',
events: [
// events go here
],
resources: [
// resources go here
]
// other options go here...
});
}-*/;
假设 fullCalendar
来自 jQuery 插件,那么 DOM 元素没有被修改;你需要把它包装在 jQuery "object" 中(通常是 $(calendar)
,这里可能是 $win.$(calendar)
)
我想在 GWT 中使用 javascript 库。
我将文件放在 public 文件夹中,以便它在客户端和服务器之间共享,并按照本教程 (https://pelle.io/2015/01/27/integrating-javascript-libraries-into-gwt-using-jsni/) 注入 javscript。
StyleInjector.inject(INSTANCE.fullcalendarCSS().getText());
StyleInjector.inject(INSTANCE.fullcalendarPrintCSS().getText());
StyleInjector.inject(INSTANCE.schedulerCSS().getText());
ScriptInjector.fromString(INSTANCE.jqueryJS().getText()).setWindow(ScriptInjector.TOP_WINDOW).inject();
ScriptInjector.fromString(INSTANCE.momentJS().getText()).setWindow(ScriptInjector.TOP_WINDOW).inject();
ScriptInjector.fromString(INSTANCE.fullcalendarJS().getText()).setWindow(ScriptInjector.TOP_WINDOW).inject();
ScriptInjector.fromString(INSTANCE.scheduleJS().getText()).setWindow(ScriptInjector.TOP_WINDOW).inject();
每次我执行我的 javscriptcode 我都会得到一个 "not a function" 异常。
public static native void drawScheduler() /*-{
var calendar = $doc.getElementById("calendar");
calendar.fullCalendar({
defaultView: 'timelineMonth',
events: [
// events go here
],
resources: [
// resources go here
]
// other options go here...
});
}-*/;
假设 fullCalendar
来自 jQuery 插件,那么 DOM 元素没有被修改;你需要把它包装在 jQuery "object" 中(通常是 $(calendar)
,这里可能是 $win.$(calendar)
)