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