Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
GWT:从Java调用javascript函数_Java_Javascript_Gwt_Libgdx - Fatal编程技术网

GWT:从Java调用javascript函数

GWT:从Java调用javascript函数,java,javascript,gwt,libgdx,Java,Javascript,Gwt,Libgdx,您好,我正在尝试从java调用.js文件中的函数 在我的Java代码中 @Override public native void test() /*-{ //JAVASCRIPT $wnd.h8(); }-*/; 方法中只有一个警报起作用,但我无法调用我的函数之一。我试过$wnd,$doc什么都没试过 假设我有一个functions.js,其中包含以下内容: function h8(){ alert("hi"); } 在我的索引中,我有: <!doctype h

您好,我正在尝试从java调用.js文件中的函数

在我的Java代码中

@Override
public native void test()
/*-{
    //JAVASCRIPT
    $wnd.h8();
}-*/;
方法中只有一个警报起作用,但我无法调用我的函数之一。我试过$wnd,$doc什么都没试过

假设我有一个functions.js,其中包含以下内容:

function h8(){
    alert("hi");
}
在我的索引中,我有:

<!doctype html>
<html>
       <head>

              <title>GWT Test</title>
              <meta http-equiv="content-type" content="text/html; charset=UTF-8">
              <link href="styles.css" rel="stylesheet" type="text/css">
              <script src="js/functions.js"></script> 

       </head>

       <body>
              <div align="center" id="embed-html"></div>
              <script type="text/javascript" src="html/html.nocache.js"></script>
       </body>

</html>

GWT试验
在这里,您可以看到我正在加载html中的脚本文件,但是我得到了“undefined is not a function”错误。在没有$doc或$wnd的情况下,我得到了找不到变量h8的错误

这是控制台错误:

GwtApplication: exception: (TypeError) 
 line: 112978
 column: 10
 sourceURL: http://127.0.0.1:9876/html/52574FB8FF8725CA72DFF813B62FEE86.cache.js
 __gwt$exception: <skipped>: undefined is not a function (evaluating '$wnd.h8()')
(TypeError) 
 line: 112978
 column: 10
 sourceURL: http://127.0.0.1:9876/html/52574FB8FF8725CA72DFF813B62FEE86.cache.js
 __gwt$exception: <skipped>: undefined is not a function (evaluating '$wnd.h8()')
gwtaplication:异常:(TypeError)
电话:112978
栏目:10
sourceURL:http://127.0.0.1:9876/html/52574FB8FF8725CA72DFF813B62FEE86.cache.js
__gwt$exception::undefined不是函数(计算“$wnd.h8()”)
(打字错误)
电话:112978
栏目:10
sourceURL:http://127.0.0.1:9876/html/52574FB8FF8725CA72DFF813B62FEE86.cache.js
__gwt$exception::undefined不是函数(计算“$wnd.h8()”)

您应该定义窗口功能:

Window.h8 = function() {
    alert("!!!");
};
并使用$wnd访问它

private static native void callFunction() /*-{
    $wnd.h8();
}-*/;

您应该定义窗口函数:

Window.h8 = function() {
    alert("!!!");
};
并使用$wnd访问它

private static native void callFunction() /*-{
    $wnd.h8();
}-*/;

您应该定义窗口函数:

Window.h8 = function() {
    alert("!!!");
};
并使用$wnd访问它

private static native void callFunction() /*-{
    $wnd.h8();
}-*/;

您应该定义窗口函数:

Window.h8 = function() {
    alert("!!!");
};
并使用$wnd访问它

private static native void callFunction() /*-{
    $wnd.h8();
}-*/;

如果您在JS控制台中调用h8(),会发生什么情况?我想您正在这样做,但是您是否可以检查您是否在入口点中调用test()方法?test()是从java调用的,因为如果我将$wnd.h8()更改为简单警报(“嘿”),它会发出警报。您没有回答我的第一个问题,h8在开发控制台中工作吗。我想你是在另一个范围内定义的。修复了它。谢谢:)如果在JS控制台中调用h8(),会发生什么情况?我想你正在这样做,但是你能检查一下在你的入口点中是否调用了test()方法吗?test()是从java调用的,因为如果我将$wnd.h8()更改为一个简单的警报(“嘿”),它会发出警报。你没有回答我的第一个问题,h8在开发控制台中工作吗。我想你是在另一个范围内定义的。修复了它。谢谢:)如果在JS控制台中调用h8(),会发生什么情况?我想你正在这样做,但是你能检查一下在你的入口点中是否调用了test()方法吗?test()是从java调用的,因为如果我将$wnd.h8()更改为一个简单的警报(“嘿”),它会发出警报。你没有回答我的第一个问题,h8在开发控制台中工作吗。我想你是在另一个范围内定义的。修复了它。谢谢:)如果在JS控制台中调用h8(),会发生什么情况?我想你正在这样做,但是你能检查一下在你的入口点中是否调用了test()方法吗?test()是从java调用的,因为如果我将$wnd.h8()更改为一个简单的警报(“嘿”),它会发出警报。你没有回答我的第一个问题,h8在开发控制台中工作吗。我想你是在另一个范围内定义的。修复了它。谢谢:)我打电话给$wnd.h8();来自Java测试方法,并具有Window.h8=function(){alert(“hi”);};在我的js文件中,仍然未定义的不是一个函数。。。[gwt$exception::undefined不是函数(计算'$wnd.h8()')它是小写的window.h8。谢谢你们。我从Java测试方法调用$wnd.h8();并在我的js文件中使用window.h8=function(){alert(“hi”);};但仍然未定义的不是函数…[gwt$exception::undefined不是函数(计算'$wnd.h8()')]这是window.h8,小写。谢谢你们两位。我从Java测试方法调用$wnd.h8();在我的js文件中有window.h8=function(){alert(“hi”);};但仍然未定义的不是一个函数…[gwt$exception::undefined不是一个函数(计算'$wnd.h8()')。这是window.h8,小写。谢谢你们两位。我调用$wnd.h8();来自Java测试方法,在我的js文件中有Window.h8=function(){alert(“hi”);};但仍然未定义的不是函数…[gwt$exception::undefined不是函数(评估“$wnd.h8()”],它是Window.h8,小写。谢谢你们。