CefView / QCefView

A Qt Widget encapsulated CEF view based on QWidget
https://cefview.github.io/QCefView/
GNU Lesser General Public License v2.1
527 stars 137 forks source link

[BUG]: OSR模式下,使用QStackLayout切换多个QCef页面,会偶现页面卡死无法操作 #270

Open dinjufen opened 1 year ago

dinjufen commented 1 year ago

Describe the bug 【Bug描述】

...

To Reproduce 【复现步骤】

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior 【正确的预期行为】

...

Screenshots 【截图】

...

Environment 【BUG产生的环境】

Additional context 【更多额外信息】

...

lixuetinger commented 1 year ago

osr模式下: 你不能隐藏其他打开的网页, 隐藏后他会调用CefBrowserHost的void WasHidden(bool hidden); 后面是我的猜测:当前网页有事件未处理完就进行了停止活动, 把cef的处理消息的线程阻塞住了, 导致新切换的网页显示后该窗口事件也过不去就卡住了

tishion commented 1 year ago

请提供一个最小demo

lixuetinger commented 1 year ago

自己搞吧很简单 就是别用布局加h5页面就可以了 让所有的页面叠在一起 显示哪个就把那个放到最前面发自我的 iPhone在 2023年6月7日,21:23,Sheen Tian @.***> 写道: 请提供一个最小demo

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.***>

tishion commented 1 year ago

有没有可能,我比较懒,或者我没时间。

coffeeyou commented 1 month ago

自己搞吧很简单 就是别用布局加h5页面就可以了 让所有的页面叠在一起 显示哪个就把那个放到最前面发自我的 iPhone在 2023年6月7日,21:23,Sheen Tian @.> 写道: 请提供一个最小demo —Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.>

如果写死WasHidden(false)可以嘛?我初步试了下没发现问题。 在QCefViewPrivate::onViewVisibilityChanged中,pCefBrowser_->GetHost()->WasHidden(false);

coffeeyou commented 1 month ago

有没有可能,我比较懒,或者我没时间。

有比较正规的解决此问题的思路吗?给个思路就行。。。