我想在我的Java web应用程序中使用Kurento WebRTC javascript客户端。
但我甚至无法在Java应用程序中调用简单的javascript函数。我遗漏了什么?
var connector = this;
connector.test = function() {
alert('Hello world!');
}下面是Java代码:
import com.vaadin.ui.AbstractJavaScriptComponent;
@JavaScript({"rtc.js", "jquery-1.12.3.min.js"})
public class VideoCall extends AbstractJavaScriptComponent {
public VideoCall() {
}
public void testMethod() {
callFunction("test");
//Page.getCurrent().getJavaScript().execute("alert('Hello world!')");
System.out.println("testMethod executed!");
}
}当我不推荐
Page.getCurrent().getJavaScript().execute("alert('Hello world!')");我看到一个窗口,上面写着"Hello world!“。当我在callFunction中将测试更改为foo作为参数时,我没有得到错误消息,尽管foo并不作为函数存在。为什么代码不能工作?
发布于 2019-02-08 22:19:27
我假设您展示的第一个代码片段是使用@JavaScript包含的rtc.js文件。该文件缺少的是,它应该将自己注册为该特定Java类的连接器。
该文件应如下所示:
window.java_package_name_VideoCall = function() {
var connector = this;
connector.test = function() {
alert('Hello world!');
}
}其中,java_package_name是将.替换为_的VideoCall类的包名。
https://stackoverflow.com/questions/54590997
复制相似问题