我有一个 RAP 应用程序,我在其中刷新小部件和内容。在所有情况下,一切都完美无缺(sudo:类调用->渲染内容->添加disposelisteners->等待内容过期超时->调用run()来处理以前的内容并重绘);但是,当客户端在处理和重绘的同时激活滚动条上的 mouselistener 时,新滚动条的滚动会出现故障(尝试滚动窗口,获得大约 10% 的滚动并吓坏并在 0% 和 ~ 之间来回切换10%)。
编辑:环境是运行带有 RAP.rwt_3.1.0 的 Tomcat 的 win8 服务器
EDIT2:当 shell 在 run() 之后再次获得焦点时,对于一帧,它看起来好像在闪现一个本机消息对话框,然后照常继续。这可能有助于更熟悉 rap/rwt src 调试的人。
EDIT3:发生在客户端主动滚动到底部作为复合材料的处置和重绘时。
Stack: TypeError: Cannot read property 'getFocusRoot' of null
at Object.getFocusRoot (/rwt-resources/310/rap-client.js:11527:32)
at Object.handleFocusedChild (/rwt-resources/310/rap-client.js:5123:25)
at Object._onmouseevent_post (/rwt-resources/310/rap-client.js:15431:24)
at Object._processMouseEvent (/rwt-resources/310/rap-client.js:15409:10)
at Object._onmouseevent (/rwt-resources/310/rap-client.js:15386:14)
at HTMLBodyElement. (/rwt-resources/310/rap-client.js:624:17)
使用触摸板而不是单击拖动主动滚动时有所不同
Stack: Error: Invalid target for ServerObject, or target not in ObjectManager
at Object.getRemoteObject (/rwt-resources/310/rap-client.js:63649:13)
at Object.getRemoteObject (/rwt-resources/310/rap-client.js:62395:45)
at Object._sendHorizontalScrolled (/rwt-resources/310/rap-client.js:52264:14)
at Object.dispatchSimpleEvent (/rwt-resources/310/rap-client.js:3831:27)
at Object.sendImmediate (/rwt-resources/310/rap-client.js:62370:14)
at Object. (/rwt-resources/310/rap-client.js:62296:12)
at Object._dispatchEvent (/rwt-resources/310/rap-client.js:3867:18)
at Object.dispatchEvent (/rwt-resources/310/rap-client.js:3808:12)
at Object._oninterval (/rwt-resources/310/rap-client.js:4481:16)
at /rwt-resources/310/rap-client.js:624:17
发现https://bugs.eclipse.org/bugs/show_bug.cgi?id=436757 表明在 RAP 3.0 更新中结合 RWT 滚动条与本机浏览器滚动条的复杂性时可能存在持久性问题?(没有客户端处理小部件留下带有 disposeListeners 的孤立内容)