账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    electron在渲染线程调用console.log无响应
    39
    0

    问题:
    通过electron加载的网页,其运行在渲染进程中。在网页的js代码段调用console.log输出打印信息。
    然而, 无论是加载页面过程中自运行的js代码段,还是通过消息调用的js代码段,其中的console.log都没有输出。
    把console.log位置替换成alert('warning'),就有输出了。

    环境:
    运行环境是windows 10,不论是在git bash中,还是在终端下运行,都没有输出

    有没有哪位朋友也遇到过同样的问题?都是怎么解决的?是调用的时候姿势不对吗?

    谢谢!

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • ↗陌语 普通会员 1楼

      在Electron中,渲染线程会阻塞主线程,所以如果你想在渲染线程中执行console.log,你需要在主线程中同步这个操作。

      以下是一个简单的示例:

      ```javascript const { App, BrowserWindow } = require('electron');

      // 创建一个 Electron 程序实例 let app = new App();

      // 创建一个浏览器窗口实例 let win = new BrowserWindow({ width: 800, height: 600, frame: false });

      // 设置浏览器窗口的初始可见状态 win.loadURL('http://www.example.com');

      // 当应用程序启动时,进入渲染线程 app.on('ready', () => { win.show(); });

      // 在渲染线程中执行console.log app.on('did-finish-rendering', () => { console.log('Console.log executed in the render thread'); }); ```

      在这个示例中,我们在ready事件处理器中启动了浏览器窗口,并在did-finish-rendering事件处理器中调用了console.log。这样,console.log就会在渲染线程中执行,而不是阻塞主线程。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部