在我做公司项目的时候,经常会出现关于
-1 The query has been canceled
或
Unexpected call to CefQueryCallback_N::finalize()
错误
具体原因我也是找了好久之后才找到,因为没有任何的提示信息,找不到代码出错在哪里,用断点也查不出来,很烦啊!!!!!
出现这个错误汉语意思是,查询被取消,那么JCEF的运行原理是,前端点击按钮,发送Request,然后接收const response一个success的返回值,那么你就要在后端,运行操作之后,写上:
callback.success(“成功”);
类似于这样,让前端接受到返回值就好了
出现这个错误的意思是,意外调用CefQueryCallback,他的错误原理其实和上面的差不多,但是是因为返回值return的问题,我的错误就是
@Override
public boolean onContextMenuCommand(CefBrowser browser, CefFrame frame, CefContextMenuParams params, int commandId, int eventFlags) {
switch(commandId) {
case MenuId.MENU_ID_RELOAD:
browser.reload();
return true;
case MENU_ID_ADDTEXT:
browser.executeJavaScript("document.body.innerHTML+='<div>添加一段文本</div>';", browser.getURL(), 0);
return true;
}
return false;
}
}
缺少了这个return true;两个return都要加,下面的是false,一定要两个都加!!!!!