【发布时间】:2014-07-06 21:09:00
【问题描述】:
我有两个脚本文件 lib_network.js 和 network.js。我在网络 .js 中有一个 draw() 函数,它调用 lib_network.js 中的另一个函数。这两个文件都使用 d3.js 函数来完成某些任务。
我正在通过以下方式将这两个文件添加到检票面板
public static final JavaScriptResourceReference NETWORK_JS = new JavaScriptResourceReference(
SenseAlign.class, "network.js");
public static final JavaScriptResourceReference NETWORK_CSS = new JavaScriptResourceReference(
SenseAlign.class, "network.css");
public NetworkPanel(String id){
super(id);
}
@Override
public void renderHead(IHeaderResponse aResponse){
super.renderHead(aResponse);
aResponse.render(JavaScriptReferenceHeaderItem.forReference(D3Reference.D3_JS));
aResponse.render(JavaScriptReferenceHeaderItem.forReference(JqueryReference.jQuery_JS));
aResponse.render(JavaScriptReferenceHeaderItem.forReference(NetworkLibrary.LIB_NETWORK_JS));
aResponse.render(JavaScriptReferenceHeaderItem.forReference(NETWORK_JS));
aResponse.render(JavaScriptReferenceHeaderItem.forReference(NETWORK_CSS));
String[] annotatorScript = new String[] {
"draw(\"" + getMarkupId() + "\")"};
aResponse.render(OnDomReadyHeaderItem.forScript(StringUtils.join(annotatorScript, "\n")));
}
当我尝试将 lib_network.js 中的函数调用为时出现错误
Uncaught TypeError: undefined is not a function
css 文件也没有正确加载。出现语法错误,但语法是正确的,因为我在文件中只添加了两个类。
谁能告诉我包含资源的正确方法。
我尝试在 cwiki 和 wicket 指南中寻找答案。他们说上面提到的方式,但它仍然对我不起作用。
【问题讨论】:
-
谁投了反对票,请告诉我原因
-
赞成,因为这是个好问题
标签: java javascript d3.js wicket