Я использую CefSharp.WinForms.ChromiumWebBrowser v41.0.1 в моем проекте. Существует много вкладок, каждая вкладка имеет веб-браузер хрома. Я пытаюсь закрыть одну из этих вкладок функцией javascript window.close(). Но он также закрывает как все вкладки, так и мою программу. В чем главная причина? И есть ли способ закрыть только одну вкладку javascript?CefSharp.Winforms закрыть вкладку javascript
ответ
Я считаю, что вы обнаружите, что CEF
отправляет сообщение WM_CLOSE
в окно верхнего уровня, поскольку это поведение по умолчанию.
Один из вариантов заключается в том, чтобы перейти на выпуск 43.0.0-pre02
, а затем реализовать ILifeSpanHandler.DoClose
, когда вы сможете быть в состоянии return true
, чтобы реализовать свое собственное поведение. https://github.com/cefsharp/CefSharp/blob/cefsharp/43/CefSharp/ILifeSpanHandler.cs#L109
Вы могли бы крюк в window.close
, привязать его к методу с использованием Javascript binding
, а затем обрабатывать закрывающий самостоятельно.
Третий вариант заключается в том, чтобы как-то отменить форму закрытия, возможно, с событием FormClosing
.
Я не пробовал ни один из этих вариантов явно, чтобы узнать, что является самым простым и чистым, я уверен, что вы можете найти что-то, что работает.
Я реализовал интерфейс ILifeSpanHandler, чтобы создать новую вкладку и закрыть ее с помощью javascript. Тем не менее, вкладки, открытые javascript, не могут быть закрыты javascript, это приводит к закрытию всех вкладок, программ и исключению исключений для исключений. Я попытался создать новую вкладку другим потоком, и подобные ошибки произошли, в то время как вкладки, созданные основным потоком, могут нормально закрываться окном .close javscript. Я понимаю, что создание новой вкладки javascript также будет реализовано в конкретном потоке. Таким образом, закрытие с помощью javascript хромового webbrowser, созданного в другом потоке, вызовет ошибки. Как я могу справиться с этим?
- 1. Закрыть вкладку firefox из javascript
- 2. Закрыть вкладку firefox с Javascript
- 3. Как закрыть вкладку браузера
- 4. Открыть новую вкладку и закрыть текущую вкладку
- 5. Как закрыть текущую вкладку с помощью javascript?
- 6. JavaScript, закрыть вкладку, когда вы открываете другую
- 7. Как закрыть активную вкладку с помощью Javascript?
- 8. закрыть 1 вкладку javascript, когда другой открывается
- 9. Окно браузера закрыть и закрыть вкладку
- 10. Как закрыть вкладку Firefox?
- 11. Pyqt закрыть невыбранную вкладку
- 12. Закрыть вкладку браузера nodejs
- 13. Закрыть вкладку браузера
- 14. Закрыть последнюю открытую вкладку
- 15. Закрыть вкладку tabcontrol
- 16. Закрыть вкладку ребенок, перенаправлять родительскую вкладку
- 17. Отменить закрыть вкладку в Vim
- 18. wxpython auinotebook закрыть вкладку event
- 19. Как закрыть вкладку из кода?
- 20. Может ли расширение закрыть вкладку?
- 21. Как закрыть вкладку в vim?
- 22. Как закрыть мою единственную вкладку
- 23. Как закрыть вкладку в tmux?
- 24. Как закрыть вкладку текущего просмотра?
- 25. Как закрыть вкладку в CMFCTabCtrl
- 26. Как закрыть вкладку браузера от его происхождения
- 27. Rails 4 Закрыть текущую вкладку контроллера
- 28. Chrome: как закрыть вкладку внутри страницы?
- 29. закрыть хромированную вкладку с js, используя chrome.tab.remove
- 30. Отменить закрыть вкладку в таблице света
Спасибо. Я обновился до версии 43.0.0-pre02. Он отлично работает –