首页 > 解决方案 > 每个 cefsharp 实例的不同 javascript 导航器对象

问题描述

我希望 CefSharp 为每个浏览器实例使用不同的导航器对象,但我找不到解决方案。

我知道可以在 CefSettings 中更改一些导航器属性,但这只有在初始化 Cef 及其在所有浏览器实例之间共享之前才有可能。

我需要能够运行多个浏览器实例,每个实例都具有自定义导航器属性(userAgent、appName、appVersion ...)。在实例运行时更改这些值也应该是可能的。

我试图通过在FrameLoadStart事件中使用ExecuteJavaScriptAsync方法注入 javascript 来模拟它,但问题是 javascript 是异步注入的,在我看来这就是赌博,因为网站 javascript 可以在我的脚本模拟之前获取导航器对象。

我需要一个 100% 保证的解决方案,以防止网站从导航器对象获取真实的浏览器信息并提供修改后的属性。

最好的解决方案是为每个浏览器实例设置导航器对象,但模拟它也可以,但我需要一种在网站开始加载之前加载和执行我的脚本的方法。

感谢帮助!

标签: c#cefsharp

解决方案


推荐阅读