Electron + Node.jsでクローラー作成中にちょっと困ったのでメモ。
結論から言えば、.loadUrl
を、.loadURL
と大文字にしてやると動いた。
Electronのバージョンはv1.4.13。
もくじ
問題:BrowserWindowでloadUrlしようとするとエラー
main.js内で”mainWindow”って名前でBrowserWindowを生成し、そこにTARGET_URLを渡してページを開こうとして以下の処理を書いた。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
var TARGET_URL = "https://hogehoge.org/"; // modules const electron = require("electron"); const app = electron.app; const BrowserWindow = electron.BrowserWindow; let mainWindow; app.on('ready',function(){ // メインウィンドウを作成 mainWindow = new BrowserWindow({width:800, height:600}); // 指定のURLを読み込み mainWindow.loadUrl(TARGET_URL); }); |
すると、実行時に“TypeError:mainWindow.loadurl is not a function”のエラーが。
解決策:”.loadUrl” => “.loadURL”と大文字にしてやるとOKっぽい
ググってみれば、Electronのバージョンが変わったかなんかで”.loadUrl”が”.loadURL“と大文字表記に変わったとのこと。
というわけで、stackoverflowの回答を元に、以下のように直したら動いた。
1 2 3 4 5 6 7 |
(略) app.on('ready',function(){ // メインウィンドウを作成 mainWindow = new BrowserWindow({width:800, height:600}); // 指定のURLを読み込み mainWindow.loadURL(TARGET_URL); }); |
感想とか
英語でもビビらずにちゃんと読んだらどうにかなる。こともある。
参考にしたサイト、本
stackoverflow.com
https://stackoverflow.com/questions/37614054/loadurl-is-not-working-in-electron