首先介绍一下,项目前端框架使用的layui。
使用layui.open{type:2,success:{ //修改iframe标签的name属性}
打开一个iframe弹窗,然后在success回调中修改iframe的name属性。这个时候发现通过cefsharp的getframe()方法获取这个对应name的iframe页获取不到,调试了一下,发现是cefsharp中的name没改掉,也就是前端页面虽然改了,但是,cefsharp的内核中这个iframe所对应的IFrame对象的name属性并没有改变,这应该算是一个bug吧!
底层源码不会改,只能从前端下手了。现在的问题是layui的iframe型弹窗,会默认设置一个name,要想改变这个默认值需要修改框架源码。看来不能用iframe弹窗。那就用其他类型的弹窗好了,但是,iframe标签又是必须要的,那么就在html外面加一层iframe标签好了
layui.open{type:1,
content: '<iframe src="" name="" style="width:100%; height:100%;">'}
这样就搞定了。