• 加载iframe后主窗口失去ipc通信能力

  • 此问题只出现在cef87版本中,新版本的没这个问题


    解决办法:


    application_callback.go
    函数 appOnContextCreated, 30行增加

    if frame.IsMain() {

        ipcRender.makeIPC( context)

    }


    这里的解决方案是进制子窗口获取IPC能力,这样就不会造成主窗口的IPC能力被抢断

    另外,主窗口里边重新注册事件,也能抢回IPC能力

    <div class="logo">
       你好,我是主窗口
        <button onclick="zhuce()">重新注册ipc</button>
    </div>
    <iframe src="fs://hou4/1.html" height="100px" frameborder="0"></iframe>
    <script>
       ipc.on("nihao",function (v){
           console.log("主窗口收到信号",v)
       })
    
       function zhuce(){
           console.log("重新注册信号" )
           ipc.on("nihao",function (v){
               console.log("主窗口",v)
           })
       }
    </script>