无法在GWT中使用外部JavaScript

时间:2014-07-27 19:28:08

标签: javascript gwt gojs

我想在GWT中使用goJS。我下载了GOJS javascript并将其放在warpro下的sampleproject文件夹中,其中包含sampleproject.nocache.js和sampleproject.devmode.js。在sampleproject.html中我添加了

<script type="text/javascript" language="javascript" src="sampleproject/go.js"> 
</script>

在我使用的其中一个视图中

public static native void initGo() /*-{
    var $$ = go.GraphObject.make;
}-*/;

当我调用此函数时,抛出异常:

com.google.gwt.event.shared.UmbrellaException:捕获异常:(ReferenceError)@ com.amazon.ops.client.OpsMenuView :: initGo()([]):go未定义。

有人可以帮我解决这个问题吗?

2 个答案:

答案 0 :(得分:4)

尝试使用$wnd.为js调用添加前缀,例如:

var $$ = $wnd.go.GraphObject.make;

正如here所述,GWT在嵌套框架中运行,您必须使用$wnd来引用顶级窗口。

答案 1 :(得分:1)

请确保您提出以下声明:

<script type="text/javascript" language="javascript" src="sampleproject/go.js"> 
</script>
<script src="sampleproject.nocache.js">声明之前