求助:firefox插件弹出窗体后丢失焦点的问题
发布网友
发布时间:2022-04-29 09:44
我来回答
共1个回答
热心网友
时间:2022-06-25 16:40
因为浏览器是单进程阻塞模式,如果你的程序弹出模式窗口,即消息阻塞了,如果超时未回应,浏览器则认为插件进程无响应了。
我目前采用的解决方案是JS调用plugin方法时,plugin创建新线程,在线程内开启模式窗口(含消息处理循环),在得到结果时使用InvokeDefault机制回调JS函数返回结果。
弹窗显示在前顶。可以将Plugin的HWND句柄保存起来,在弹出窗口时,设置成为Parent句柄,弹出窗口就一定在plugin的上面。