Код: Выделить всё
public class Browser {
public ChromiumWebBrowser browserInstance;
public string Url { get => browserInstance == null ? url : browserInstance.Address; set { url = value; if (browserInstance != null) browserInstance.LoadUrl(url); } }
private string url;
public Browser(string url) {
Url = url;
#if ANYCPU
CefRuntime.SubscribeAnyCpuAssemblyResolver();
#endif
Init();
}
public async Task Init() {
CefSettings settings = new CefSettings {
UserAgent = "Mozilla/5.0 (Linux; Android 10) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.79 Mobile Safari/537.36",
CachePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "CefSharp\\Cache")
};
await Cef.InitializeAsync(settings, performDependencyCheck : true, browserProcessHandler : null);
browserInstance = new ChromiumWebBrowser(Url);
await browserInstance.WaitForInitialLoadAsync();
}
// this is used to paint the browser on a texture elsewhere in the project
public void BindPaintEvent(EventHandler action) {
browserInstance.Paint += action;
}
}
Итак, сейчас я пытаюсь открыть несколько вкладок этого браузера и нарисовать каждую из них по отдельности.
Но я не могу найти, как это сделать. это... Как вы думаете, что я мог бы сделать?
(Да, я провел исследование, нет, я не нашел ничего, имеющего отношение к моей проблеме)
Спасибо!
Когда я это делаю, ChromiumBrowser не инициализируется. Я где-то читал, что это произошло потому, что для каждого приложения может быть только один экземпляр браузера Chromium.
Итак, сейчас я пытаюсь открыть несколько вкладок этого браузера и нарисовать каждую из них по отдельности.
Но я не могу найти, как это сделать. это... Как вы думаете, что я мог бы сделать?
(Да, я провел исследование, нет, я не нашел ничего, имеющего отношение к моей проблеме)
Спасибо!
Подробнее здесь: https://stackoverflow.com/questions/787 ... -offscreen