【发布时间】:2021-06-17 11:47:16
【问题描述】:
我有一个 BrowserComponent,它加载了一个特定的 URL。
BrowserComponent browser = new BrowserComponent();
browser.setURL(url);
browser.addBrowserNavigationCallback(url -> {
...
return false;
});
此 URL 重定向到另一个,新页面显示 JS 警报对话框。
模拟器在尝试加载带有对话框的页面时无异常或错误地死机,剩下的唯一选择就是关闭模拟器。
如何处理 BrowserComponent 中的 JS 对话框?
如果我可以自动关闭警报对话框,那就太好了。
我的运行日志:
JCEF Version = 84.4.1.262
CEF Version = 84.4.1
Chromium Version = 84.0.4147.105
initialize on Thread[AWT-EventQueue-0,6,main] with library path ~\.codenameone\cef\lib\win64
Added scheme search://
Added scheme client://
Added scheme cn1stream://
DevTools listening on ws://127.0.0.1:56113/devtools/browser/8a42a5d0-5ad5-4838-9027-ee9737d73370
AppHandler.stateHasChanged: NEW
AppHandler.stateHasChanged: INITIALIZING
AppHandler.stateHasChanged: INITIALIZED
Stream was closed
[EDT] 0:0:18,233 - Codename One revisions: 7dd4e7d08b3442d90959477ee52a5ae8c4361b29
[EDT] 0:0:18,234 -
[0322/062422.651:INFO:CONSOLE(22)] "Here I am !!!", source: https://cn1app/streams/1 (22)
【问题讨论】:
-
您在使用 CEF 吗? (是~/.cn1下的cef目录)。这与
addBrowserNavigationCallback有关吗?如果您删除该代码,它仍然会冻结吗?您是否收到任何浏览器事件,例如onLoad 等?您是否尝试过在 chrome 中进行调试(假设使用了 CEF)?见codenameone.com/blog/big-changes-jcef.html -
@ShaiAlmog 是的,我正在使用
cef。解压后的cef文件夹在.codenameone目录下。不,该问题与addBrowserNavigationCallback无关,无论代码如何,它都会冻结。没有浏览器事件,所以我没有处理任何事件。 localhost:8088 无法在 Chrome 中加载,我收到ERR_CONNECTION_REFUSED错误。 -
您确定选择了 CEF 吗?您在控制台中看到与此相关的任何内容吗?
-
@ShaiAlmog 我已经编辑了我的问题以包含我的控制台日志。
标签: codenameone