是否可以从Javascript调用Java(GWT)方法?从文档中也不清楚。http://code.google.com/intl/zh-
CN/webtoolkit/doc/latest/DevGuideCodingBasicsJSNI.html上的
所有示例都演示了如何从JSNI(而非JS)函数调用Java函数。
更新1
这是一个Java代码:
public class Test_GoogleWeb_JSNI_02 implements EntryPoint {
/**
* This is the entry point method.
*/
public void onModuleLoad() {
}
public static void Callee() {
Window.alert("Callee");
}
}
这是html中的呼叫者按钮示例:
<input type='button' value='Call' onclick='Test02()'>
这是我尝试过但无法使用的一些功能:
<script type="text/javascript">
function Test01() {
@com.inthemoon.tests.client.Test_GoogleWeb_JSNI_02::Callee()();
}
function Test02() {
com.inthemoon.tests.client.Test_GoogleWeb_JSNI_02::Callee()();
}
</script>
更新2
以下工作。
Java准备:
public void onModuleLoad() {
Prepare();
}
public static native void Prepare() /*-{
$doc.calleeRunner = @com.inthemoon.tests.client.Test_GoogleWeb_JSNI_02::Callee();
}-*/;
public static void Callee() {
Window.alert("Callee");
}
呼叫者:
function Test03() {
document.calleeRunner();
}
有没有更好的办法?
您的示例不起作用,因为您尝试在某些外部脚本中使用JSNI。如果要从 外部 JS
调用某些内容,则需要使用此问题中描述的方法或使用GWT导出器
更新:
公开GWT内容的最安全方法是将调用包装在其他函数中。例如:
public native void expose()/*-{
$wnd.exposedMethod = function(param){
@com.my.MyClass::myFunction(*)(param);
}
}-*/;
否则,您可能会在生产模式下遇到一些奇怪的错误=)
问题内容: 如何从PHP调用JavaScript函数? 以下代码来自 xyz.html (单击按钮时),它在外部 xyz.js中 调用a 。这将调用wait.php。 和 wait.php 从那里以同样的方式从另一个PHP文件调用代码。 该否则工作正常,但它不会被调用我想要的方式。 问题答案: 就PHP而言(或者实际上,通常是一个Web服务器),HTML页面只不过是一个大字符串而已。 您可以使用P
问题内容: 我正在做一个网络抓取项目。我正在使用的网站之一的数据来自Javascript。 在我之前的一个问题中,有人建议我可以直接从Python调用Javascript,但是我不确定如何实现。 例如:如果JavaScript函数定义为: 如何从Python调用JavaScript函数? 问题答案: 查找具有Python绑定的JavaScript解释器。(尝试Rhino?V8?SeaMonkey?
问题内容: 我想从JavaScript 调用,这是一个C#函数。我尝试了下面的代码,但是无论JavaScript条件是还是,都被调用了! JavaScript代码: 后面的C#代码: 如何从JavaScript调用C#函数? 问题答案: 您可以使用Web方法和Ajax:
本文向大家介绍如何从onmouseover事件中调用JavaScript函数?,包括了如何从onmouseover事件中调用JavaScript函数?的使用技巧和注意事项,需要的朋友参考一下 将鼠标移到任何元素上时,会触发onmouseover事件。 示例 您可以尝试运行以下示例,以了解如何从onmouseover事件调用JavaScript函数
本文向大家介绍如何从onmouseout事件中调用JavaScript函数?,包括了如何从onmouseout事件中调用JavaScript函数?的使用技巧和注意事项,需要的朋友参考一下 当您将鼠标从该元素移出时,onmouseout会触发。 示例 您可以尝试运行以下示例,以了解如何从onmouseout事件中调用JavaScript函数
问题内容: 我使用PhoneGap开发了一个应用程序。我得到了一项在后台进行本地编码的服务(该服务和手机缺口应用程序在同一项目中)。不幸的是,我想从此服务中调用javascript函数。因此,我在网上搜索并创建了一些有趣的东西:创建一个扩展Plugin的类并在其中进行一些处理。然后我发现了这个: 我用此代码进行了测试,但是发生了一些错误: 这是我测试的方式: 在类c中,execute方法如下: 当