久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

Electron webContents executeJavaScript:無法在第二個 loa

Electron webContents executeJavaScript : Cannot execute script on second on loadURL(Electron webContents executeJavaScript:無法在第二個 loadURL 上執行腳本)
本文介紹了Electron webContents executeJavaScript:無法在第二個 loadURL 上執行腳本的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

我正在測試 Electron 并專門使用 executeJavaScript.我的項目使用 POST 請求登錄網站,然后做一些工作并使用同一會話加載第二個 URL.在第二個 URL 中,我需要執行 JS,但我不確定我做錯了什么.

I am testing out Electron and specifically working with executeJavaScript. My project uses a POST request to sign into a website, then does a bit of work and loads a second URL using the same session. In this second URL, I need to execute JS but I am not sure what I am doing wrong.

在此示例中,我創建了一個簡化版本,模擬訪問兩個 URL 并在第二個 URL 上執行 JS.關于這里發生了什么的任何想法?

In this example I created a dumbed down version that simulates going to two URL's and executing JS on the second. Any ideas on what is going on here?

const {app, BrowserWindow} = require('electron');

let win;

function createWindow() {

  win = new BrowserWindow({width: 1000, height: 600})
  win.openDevTools();

  // First URL
  win.loadURL('https://www.google.com')

  // Once dom-ready
  win.webContents.once('dom-ready', () => {

    // THIS WORKS!!!
    win.webContents.executeJavaScript(`
      console.log("This loads no problem!");
    `)

    // Second URL
    win.loadURL('https://github.com/electron/electron');

    // Once did-navigate seems to function fine
    win.webContents.once('did-navigate', () => {

      // THIS WORKS!!! So did-navigate is working!
      console.log("Main view logs this no problem....");

      // NOT WORKING!!! Why?
      win.webContents.executeJavaScript(`

        console.log("I canot see this nor the affects of the code below...");

        const form = document.querySelectorAll('form.js-site-search-form')[0];

        const input = form.querySelectorAll('input.header-search-input')[0]

        input.value = 'docs';

        form.submit();

      `)

    })
  })
}

app.on('ready', createWindow );

app.on('window-all-closed', () => {
  if (process.platform !== 'darwin') {
    app.quit();
  }
});

推薦答案

這是因為你試圖在 dom-ready 事件之前運行 Javascript.

It is because you are trying to run the Javascript before the dom-ready event.

在此事件完成后嘗試執行您的 javascript,如下所示

Try executing your javascript after this event is completed like below

const { app, BrowserWindow } = require('electron');

let win;

function createWindow() {

    win = new BrowserWindow({ width: 1000, height: 600 })
    win.openDevTools();

    // First URL
    win.loadURL('https://www.google.com')

    // Once dom-ready
    win.webContents.once('dom-ready', () => {

        // THIS WORKS!!!
        win.webContents.executeJavaScript(`
      console.log("This loads no problem!");
    `)

        // Second URL
        win.loadURL('https://github.com/electron/electron');

        // Once did-navigate seems to function fine
        win.webContents.once('did-navigate', () => {

            // THIS WORKS!!! So did-navigate is working!
            console.log("Main view logs this no problem....");
            win.webContents.once('dom-ready', () => {
                // NOT WORKING!!! Why?
                win.webContents.executeJavaScript(`

        console.log("I canot see this nor the affects of the code below...");

        const form = document.querySelectorAll('input.js-site-search-form')[0];

        const input = form.querySelectorAll('input.header-search-input')[0]

        input.value = 'docs';

        form.submit();

      `)

            })
        });
    })
    }

    app.on('ready', createWindow);

    app.on('window-all-closed', () => {
        if (process.platform !== 'darwin') {
            app.quit();
        }
    });

這篇關于Electron webContents executeJavaScript:無法在第二個 loadURL 上執行腳本的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

相關文檔推薦

How to fix BrowserWindow is not a constructor error when creating child window in Electron renderer process(在 Electron 渲染器進程中創建子窗口時如何修復 BrowserWindow 不是構造函數錯誤) - IT屋-程序員軟件開發技術
mainWindow.loadURL(quot;https://localhost:3000/quot;) show white screen on Electron app(mainWindow.loadURL(https://localhost:3000/) 在 Electron 應用程序上顯示白屏)
how to use electron browser window inside components in angular-cli?(如何在angular-cli的組件內使用電子瀏覽器窗口?)
ElectronJS - sharing redux store between windows?(ElectronJS - 在 Windows 之間共享 redux 存儲?)
How to access camera/webcamera inside electron app?(如何在電子應用程序中訪問相機/網絡攝像頭?)
How to getCurrentPosition via navigator.geolocation in Electron app?(如何通過電子應用程序中的 navigator.geolocation 獲取當前位置?)
主站蜘蛛池模板: 中文字幕一区二区三区乱码在线 | 成人av播放| 久久国产成人 | 欧美成人一区二免费视频软件 | 日韩欧美国产不卡 | 成人午夜电影网 | 中文字字幕在线中文乱码范文 | 日韩不卡三区 | 亚洲视频免费在线观看 | 国产精品视频500部 a久久 | 亚洲成人av一区二区 | 欧美一区二区三区在线观看 | 欧美极品在线播放 | 日韩一区二区三区在线观看 | 日韩欧美在线视频播放 | 另类 综合 日韩 欧美 亚洲 | 亚洲国产一区二区三区 | 欧美片网站免费 | 国产成人99久久亚洲综合精品 | 久久艹免费视频 | 国产精品视频在线观看 | 国产日产欧产精品精品推荐蛮挑 | 天天拍天天操 | 日本中文字幕日韩精品免费 | 欧美一级毛片久久99精品蜜桃 | 国产成人高清视频 | 日韩欧美国产精品 | 日本在线网站 | 99精品久久 | 99久久久久久| 日韩免费中文字幕 | 亚洲高清视频一区二区 | 观看毛片| 正在播放亚洲 | 欧美日韩国产精品一区二区 | 精久久久 | 一区中文字幕 | 午夜免费观看网站 | 日韩国产欧美一区 | 国产在线观看av | 99久久久久久 |