GWT:从Java调用javascript函数
您好,我正在尝试从java调用.js文件中的函数 在我的Java代码中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
@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,小写。谢谢你们。