目的:在CEF中允许JS跨域访问,即使用JS代码调用主页面的IFrame中的元素
解决方案:
1.在构造函数初始化方法中加入BrowserSettings的设置
BrowserSettings.WebSecurity = CefState.Enabled;
此方案方便快捷,简单又易用,如果没什么特殊情况,这样做就很好
2.将JS由主页面注入到对应的IFrame中,再由js去处理IFrame的元素
/// <summary>
/// 插入jsscript到iframe中
/// </summary>
/// <param name="script">脚本内容</param>
/// <param name="name">iframe的name值</param>
/// <param name="urlKeyWord">iframe的url特有的值</param>
/// <returns></returns>
public async Task ScriptInFrame(string script,string name ="",string urlKeyWord = "")
{
//this为cefBrowser
if (!string.IsNullOrEmpty(name))
{
//直接通过名称来查找