问题:我使用CEFSharp在C#应用程序中提供本地内容。
在某些情况下,我有几个iframe,它们应该根据用户操作加载不同的本地URL。
我使用Iframe.LoadUrl方法加载这些Iframe中的内容。URL正在使用文件架构。
在运行时,应用程序不会加载iframe的新url,直到我打开devtools。当我这样做时,iframe的内容会完美而快速地加载。
每个iframe只发生一次:打开devtools后,我可以执行相同的代码,iframe的内容也会相应地更新。我猜iframe的状态在某种程度上是错误的,但到目前为止,我在打开devtools之前/之后没有发现任何差异。
上下文:此应用程序在CEFSharp 85.3中运行正常。该库的版本已升级到101.0。
我正在处理的代码是一个插件,初始化由主应用程序管理,所以我在那里没有什么灵活性。如果合理的话,我可以要求修改。
以前有人见过这样的东西吗?
我现在找到了一个解决方法,它似乎运行良好:
而不是做:
frame.loadURL(url)
我正在使用:
frame.Parent.ExecuteJavaScriptAsync("document.getElementById('" + frame.Name + "').src = '" + url + "'", "file:///");
我对我的解决方案并不满意,但就我而言,它目前似乎有效。