メインコンテンツへ飛ぶ

BrowserWindowConstructorOptions オブジェクト

  • width Integer (任意) - ピクセル単位でのウインドウの幅。 省略値は 800 です。
  • height Integer (任意) - ピクセル単位でのウインドウの高さ。 省略値は 600 です。
  • x Integer (任意) - (y が使われている場合は 必須) ウインドウの画面左のオフセット。 省略すると、ウインドウは中央に配置されます。
  • y Integer (任意) - (x が使われている場合は 必須) ウインドウの画面上のオフセット。 省略すると、ウインドウは中央に配置されます。
  • useContentSize boolean (任意) - widthheight が、Webページのサイズとして使用されます。この場合、実際のウインドウのサイズは、ウインドウ枠のサイズが含まれ、若干大きくなることを意味します。 省略値は false です。
  • center boolean (任意) - ウインドウを画面中央に表示します。 省略値は false です。
  • minWidth Integer (任意) - ウインドウの最小の幅。 省略値は 0 です。
  • minHeight Integer (任意) - ウィンドウの最小の高さ。 省略値は 0 です。
  • maxWidth Integer (任意) - ウインドウの最大の幅。 省略すると無制限です。
  • maxHeight Integer (任意) - ウインドウの最大の高さ。 省略すると無制限です。
  • resizable boolean (任意) - ウインドウがリサイズ可能かどうか。 省略値は true です。
  • movable boolean (任意) macOS Windows - ウインドウが移動可能かどうか。 これは Linux では実装されていません。 省略値は true です。
  • minimizable boolean (任意) macOS Windows - ウインドウが最小化可能かどうか。 これは Linux では実装されていません。 省略値は true です。
  • maximizable boolean (任意) macOS Windows - ウインドウが最大化可能かどうか。 これは Linux では実装されていません。 省略値は true です。
  • closable boolean (任意) macOS Windows - ウインドウが閉じられるかどうか。 これは Linux では実装されていません。 省略値は true です。
  • focusable boolean (任意) - ウインドウにフォーカスを当てることができるかどうか。 省略値は true です。 Windowsでは、focusable: false と設定することは、skipTaskbar: true と設定することにもなります。 Linuxでは、focusable: false と設定することは、ウインドウがwmとのやり取りを停止することになるため、ウインドウがすべてのワークスペースで常に前面に表示されます。
  • alwaysOnTop boolean (任意) - ウインドウを常に他のウインドウの前面に表示させるかどうか。 省略値は false です。
  • fullscreen boolean (任意) - ウインドウをフルスクリーンで表示させるかどうか。 明示的に false と設定された場合、macOSでは、フルスクリーンボタンが非表示または無効になります。 省略値は false です。
  • fullscreenable boolean (任意) - ウインドウをフルスクリーンモードにすることができるかどうか。 macOSでは、さらに、最大化/ズームボタンが、フルスクリーンモードまたはウインドウ最大化に切り替わるかどうか。 省略値は true です。
  • simpleFullscreen boolean (任意) macOS - macOS で Lion 以前のフルスクリーンを使用します。 省略値は false です。
  • skipTaskbar boolean (任意) macOS Windows - タスクバー内でウインドウを表示するかどうか。 省略値は false です。
  • hiddenInMissionControl boolean (任意) macOS - ユーザーが Mission Control に切り替えたときに、ウィンドウを隠すかどうか。
  • kiosk boolean (任意) - ウインドウがキオスクモードかどうか。 省略値は false です。
  • title string (任意) - デフォルトのウインドウタイトル。 省略値は "Electron" です。 HTML タグの <title>loadURL() でロードされた HTML ファイル内で定義されている場合、このプロパティは無視されます。
  • icon (NativeImage | string) (任意) - ウインドウのアイコン。 Windowsでは、最高の視覚効果を得るためには、ICO アイコンを使うことを推奨します。未定義のままにすることもできますが、その場合、実行可能ファイルのアイコンが使われます。
  • show boolean (任意) - 生成時にウインドウを表示するかどうか。 省略値は true です。
  • paintWhenInitiallyHidden boolean (任意) - showfalse で作成されたばかりのときに、レンダラーをアクティブにするかどうか。 show: false での document.visibilityState が最初のロードで正しく機能するには、これを false に設定する必要があります。 これを false に設定すると、ready-to-show イベントが発生しなくなります。 省略値は true です。
  • frame boolean (任意) - false を指定すると フレームレスウインドウ を作成します。 省略値は true です。
  • parent BrowserWindow (任意) - 親ウインドウを指定します。 省略値は null です。
  • modal boolean (任意) - これをモーダルウインドウにするかどうか。 これは、このウインドウが子ウインドウの場合にのみ機能します。 省略値は false です。
  • acceptFirstMouse boolean (任意) macOS - アクティブでないウィンドウをクリックすると、そのウェブコンテンツもクリックされるかどうか。 macOS での既定値は false です。 このオプションは他プラットフォームでは設定できません。
  • disableAutoHideCursor boolean (任意) - タイプ中にカーソルを非表示にするかどうか。 省略値は false です。
  • autoHideMenuBar boolean (任意) - Alt キーが押されていなければ、メニューバーを自動で非表示にします。 省略値は false です。
  • enableLargerThanScreen boolean (任意) macOS - 画面より大きいサイズへとウインドウをリサイズできるようにします。 他の OS はデフォルトで画面よりも大きなウインドウを許可するため、これは macOS にのみ影響します。 省略値は false です。
  • backgroundColor string (任意) - 16進数、RGB、RGBA、HSL、HSLA、または名前付き CSS カラーフォーマットで表したウインドウの背景色。 #AARRGGBB フォーマットのアルファは transparenttrue に設定することでサポートされます。 省略値は #FFF (白) です。 詳細は win.setBackgroundColor をご覧ください。
  • hasShadow boolean (任意) - ウインドウに影を付けるかどうか。 省略値は true です。
  • opacity number (任意) macOS Windows - ウインドウの初期不透明度を 0.0 (完全透明) と 1.0 (完全不透明) の間で設定します。 これは Windows と macOS でのみ実装されています。
  • darkTheme boolean (任意) - ウインドウに対してダークテーマの使用を強制します。いくつかの GTK+3 デスクトップ環境でしか動作しません。 省略値は false です。
  • transparent boolean (任意) - ウインドウを 透明 にします。 省略値は false です。 Windows では、ウィンドウがフレームレスでない限り機能しません。
  • type string (任意) - ウインドウのタイプで、省略すると通常のウインドウになります。 詳しくは後述します。
  • visualEffectState string (任意) macOS - macOS でウインドウの動作状態をマテリアルの見た目にどう反映させるかを指定します。 これは vibrancy プロパティと共に使用する必要があります。 以下は取りうる値です。
    • followWindow - ウィンドウがアクティブなときにはアクティブに、そうでないときには非アクティブになるよう背景が自動的に表示されます。 これが既定値です。
    • active - 背景が常にアクティブに表示されます。
    • inactive - 背景が常に非アクティブに表示されます。
  • titleBarStyle string (任意) macOS Windows - ウインドウのタイトルバーのスタイル。 省略値は default です。 以下は取りうる値です。
    • default - macOS や Windows ごとの標準的なタイトルバーになります。
    • hidden - タイトルバーが隠れ、フルサイズのコンテンツウインドウになります。 macOS では、ウインドウの左上に標準ウインドウコントロール ("信号機ボタン") が付きます。 Windows では、titleBarOverlay: true と合わせることでウインドウコントロールオーバーレイ (詳細は titleBarOverlay を参照) が有効になり、さもなくばウインドウコントロールは表示されません。
    • hiddenInset macOS - macOS でのみ、タイトルバーが隠され、信号機ボタンがウィンドウの端からわずかに挿入された別の表示になります。
    • customButtonsOnHover macOS - macOS でのみ、タイトルバーが非表示でフルサイズコンテンツのウィンドウの場合、ウインドウ左上にカーソルを置くと信号機ボタンが表示されるようになります。 注: 現在、このオプションは実験的なものです。
  • trafficLightPosition Point (任意) macOS - フレームレスウインドウの信号機ボタンのカスタム位置を設定します。
  • roundedCorners boolean (任意) macOS - macOS でフレームレスウィンドウの角を丸くするかどうか。 省略値は true です。 このプロパティを false に設定することで、ウインドウがフルスクリーンになるのを阻害できます。
  • thickFrame boolean (任意) - Windowsのフレームレスウインドウに対して、標準のウインドウ枠を追加する WS_THICKFRAME スタイルを使用します。 false に設定すると、ウインドウの影とウインドウアニメーションがなくなります。 省略値は true です。
  • vibrancy string (任意) macOS - macOS でのみ、ウインドウに曇ガラスのエフェクトを追加します。 appearance-based, titlebar, selection, menu, popover, sidebar, header, sheet, window, hud, fullscreen-ui, tooltip, content, under-window, under-page のいずれかにできます。
  • backgroundMaterial string (任意) Windows - ウインドウのシステム描画の背景マテリアルを設定します。 autononemicaacrylictabbed のいずれかです。 詳細は win.setBackgroundMaterial をご覧ください。
  • zoomToPageWidth boolean (任意) macOS - macOS で、option キーを押しながら緑の信号ボタンをクリックしたり、ウインドウ > ズーム のメニュー項目をクリックしたりしたときの動作を制御します。 true の場合、ズームしたとき、ウインドウはウェブページの最適な幅に拡大されます。false では画面の幅にズームされます。 これは、maximize() を直接呼び出したときの動作にも影響を与えます。 省略値は false です。
  • tabbingIdentifier string (任意) macOS - タブのグループ名を指定すると、ネイティブのタブとしてそのウインドウを開くことができます。 同一のタブ識別子を持つウインドウは、まとめてグループ化されます。 これはネイティブのタブボタンをウインドウのタブバーに追加し、app とウインドウが new-window-for-tab イベントを受け取ることができるようになります。
  • webPreferences WebPreferences (任意) - ウェブページの機能群の設定。
    • devTools boolean (任意) - デベロッパーツールを有効にするかどうか。 false に設定すると、BrowserWindow.webContents.openDevTools() を使ってデベロッパーツールを開くことはできません。 省略値は true です。
    • nodeIntegration boolean (任意) - Node インテグレーションを有効にするかどうか。 省略値は false です。
    • nodeIntegrationInWorker boolean (任意) - WebワーカーでNode統合を有効にするかどうか。 省略値は false です。 これについての詳細は、マルチスレッド を参照してください。
    • nodeIntegrationInSubFrames boolean (任意) - iframe や子ウインドウのようなサブフレーム内で Node.js サポートを有効にする実験的な機能です。 すべてのプリロードは iframe 毎にロードされます。メインフレーム内かそうでないか判断するには process.isMainFrame が使用できます。
    • preload string (任意) - 他のスクリプトがページで実行される前にロードされるスクリプトを指定します。 このスクリプトは、Node統合がオンまたはオフであるかに関係なく常にNode APIにアクセスできます。 値は、スクリプトへの絶対ファイルパスにする必要があります。 Node統合がオフのときでも、プレロードされたスクリプトは、Nodeのグローバルシンボルをグローバルスコープに再導入できます。 ここ の例を参照してください。
    • sandbox boolean (任意) - 設定された場合、ウインドウと関連付けられているレンダラーをサンドボックス化します。これは、ChromiumのOSレベルのサンドボックスと互換性を持ち、Node.jsエンジンを無効化します。 これは nodeIntegration オプションと同じではなく、プレロードスクリプトで利用可能なAPIよりもさらに制限がかかります。 このオプションの詳細については、ここ をお読みください。
    • session Session (任意) - ページで使用されるセッションを設定します。 Session オブジェクトを直接引き渡す代わりに、パーティション文字列を受け付ける partition オプションを使用することを選択することもできます。 sessionpartition の両方が指定されたときは、session が優先されます。 省略値は、既定のセッションです。
    • partition string (任意) - セッションのパーティション文字列に従って、ページで使用されるセッションを設定します。 partitionpersist: 始まりの場合、ページはアプリの全ページで利用可能な永続的なセッションを同じ partition で使用します。 persist: プレフィックスがない場合、ページは、インメモリセッションを使用します。 同じ partition を割り当てることによって、複数のページが同じセッションを共有できます。 省略値は、既定のセッションです。
    • zoomFactor number (任意) - ページの既定のズーム倍率で、3.0300% を表します。 デフォルトは1.0です。
    • javascript boolean (任意) - JavaScript サポートを有効にします。 省略値は true です。
    • webSecurity boolean (任意) - false のとき、同一オリジンポリシー (通常、テスト用Webサイトを使用します) が無効になり、ユーザによって設定されない場合、allowRunningInsecureContenttrue に設定されます。 省略値は true です。
    • allowRunningInsecureContent boolean (任意) - https のページで http の URL からの JavaScript、CSS やプラグインを実行することを許可します。 省略値は false です。
    • images boolean (任意) - 画像のサポートを有効にします。 省略値は true です。
    • imageAnimationPolicy string (任意) - 画像アニメーションの実行方法を指定します。(例: GIF)。 animateanimateOncenoAnimation のいずれかにできます。 デフォルトはanimateです。
    • textAreasAreResizable boolean (任意) - TextArea 要素のサイズを変更可能にします。 省略値は true です。
    • webgl boolean (任意) - WebGL のサポートを有効にします。 省略値は true です。
    • plugins boolean (任意) - プラグインを有効にするかどうか。 省略値は false です。
    • experimentalFeatures boolean (任意) - Chromium の実験的な機能を有効にします。 省略値は false です。
    • scrollBounce boolean (任意) macOS - macOS でスクロールバウンス (ゴムを伸ばすような) 効果を有効にします。 省略値は false です。
    • enableBlinkFeatures string (任意) - CSSVariables,KeyboardEventKey のように , で区切られた有効にする機能の文字列のリスト。 サポートされている機能の文字列の完全なリストは、RuntimeEnabledFeatures.json5 ファイルで確認することができます。
    • disableBlinkFeatures string (任意) - CSSVariables,KeyboardEventKey のように , で区切られた無効にする機能の文字列のリスト。 サポートされている機能の文字列の完全なリストは、RuntimeEnabledFeatures.json5 ファイルで確認することができます。
    • defaultFontFamily Object (任意) - 各フォントファミリーの既定フォントを設定します。
      • standard string (任意) - 省略値は、Times New Roman です。
      • serif string (任意) - 省略値は、Times New Roman です。
      • sansSerif string (任意) - 省略値は、Arial です。
      • monospace string (任意) - 省略値は、Courier New です。
      • cursive string (任意) - 省略値は、Script です。
      • fantasy string (任意) - 省略値は、Impact です。
      • math string (任意) - 省略値は、Latin Modern Math です。
    • defaultFontSize Integer (任意) - 省略値は、16 です。
    • defaultMonospaceFontSize Integer (任意) - 省略値は、13 です。
    • minimumFontSize Integer (任意) - 省略値は、0 です。
    • defaultEncoding string (任意) - 省略値は、ISO-8859-1 です。
    • backgroundThrottling boolean (任意) - ページがバックグラウンドになったとき、アニメーションやタイマーを抑制するかどうか。 これは Page Visibility API にも影響を与えます。 When at least one webContents displayed in a single browserWindow has disabled backgroundThrottling then frames will be drawn and swapped for the whole window and other webContents displayed by it. 省略値は true です。
    • offscreen boolean (任意) - ブラウザウィンドウでオフスクリーンレンダリングを有効にするかどうか。 省略値は false です。 詳細については、オフスクリーンレンダリングのチュートリアル を参照してください。
    • contextIsolation boolean (任意) - Electron APIと指定された preload スクリプトを別々のJavaScriptコンテキストで実行するかどうか。 省略値は true です。 preload スクリプトが実行されるコンテキストでは、専用の document および window グローバルと、独自の JavaScript ビルドインのセット (Array, Object, JSON など) にのみアクセスできます。これらすべてはロードされたコンテンツからは見えません。 Electron API は preload スクリプトでのみ利用可能で、読み込まれたページでは利用できません。 このオプションは、信頼できない可能性のあるリモートコンテンツをロードする際に使用します。ロードされたコンテンツが preload スクリプトや使用する Electron API を改ざんできないようにするためです。 このオプションは、Chrome のコンテンツスクリプト のものと同じ技術を使用しています。 Console タブの一番上のコンボボックスの中にある 'Electron Isolated Context' という項目を選択することによって、開発者ツールでこのコンテキストにアクセスできます。
    • webviewTag boolean (任意) - <webview> タグ を有効にするかどうか。 省略値は false です。 注: <webview> に設定された preload スクリプトは、実行時にNode統合が有効になるので、潜在的に悪意のある preload スクリプトを含む <webview> タグをリモート/信頼できないコンテンツに作成させないようにする必要があります。 preload スクリプトを除去したり、検証したり、<webview> の初期設定を変更したりするために、webContentswill-attach-webview イベントを使うことができます。
    • additionalArguments string[] (任意) - このアプリケーションのレンダラープロセスで process.argv に追加される文字列のリスト。 小規模なデータをレンダラープロセスのプリロードスクリプトに渡すのに便利です。
    • safeDialogs boolean (任意) - ブラウザによる連続ダイアログ保護を有効にするかどうか。 省略値は false です。
    • safeDialogsMessage string (任意) - 連続したダイアログからの保護が機能したときに表示されるメッセージ。 定義されていなければデフォルトメッセージが使われますが、現在のデフォルトメッセージは英語であり、ローカライズされていないことに注意してください。
    • disableDialogs boolean (任意) - ダイアログを完全に無効化するかどうか。 safeDialogs を上書きします。 省略値は false です。
    • navigateOnDragDrop boolean (任意) - ファイルやリンクをページにドラッグ & ドロップした際にナビゲーションするかどうか。 省略値は false です。
    • autoplayPolicy string (任意) - ウインドウ内のコンテンツに適用される自動再生ポリシーで、no-user-gesture-requireduser-gesture-requireddocument-user-activation-required にできます。 省略値は no-user-gesture-required です。
    • disableHtmlFullscreenWindowResize boolean (任意) - HTML フルスクリーンになった時にウィンドウのサイズ変更を禁止するかどうか。 省略値は false です。
    • accessibleTitle string (任意) - スクリーンリーダーなどのアクセシビリティツールにのみ提供される代替タイトル文字列。 この文字列はユーザに直接表示されません。
    • spellcheck boolean (任意) - 組み込みスペルチェックを有効にするかどうか。 省略値は true です。
    • enableWebSQL boolean (任意) - WebSQL API を有効にするかどうか。 省略値は true です。
    • v8CacheOptions string (任意) - blink が使用する v8 コードキャッシュポリシーを強制します。 以下は取りうる値です。
      • none - コードキャッシュ無効化
      • code - ヒューリスティックベースのコードキャッシュ
      • bypassHeatCheck - ヒューリスティックのコードキャッシュをバイパスしつつ遅延コンパイル
      • bypassHeatCheckAndEagerCompile - 上と同じにしつつ先行コンパイルします。 既定のポリシーは code です。
    • enablePreferredSizeMode boolean (任意) - 優先サイズモードを有効にするかどうか。 優先サイズとは、document のレイアウトをスクロール無しで格納するにあたって必要な最小サイズのことです。 これを有効にすると、優先サイズが変更されたときに WebContentspreferred-size-changedイベントが発生します。 省略値は false です。
  • titleBarOverlay Object | Boolean (任意) - フレームレスウインドウを macOS の win.setWindowButtonVisibility(true) と組み合わせて使用している場合や、titleBarStyle を使用して標準ウインドウコントロール (macOS では "信号機ボタン") が表示されている場合、このプロパティはウインドウコントロールオーバーレイで JavaScript APICSS 環境変数 を有効にします。 true を指定すると、オーバーレイはデフォルトのシステムカラーになります。 省略値は false です。
    • color String (任意) Windows - 有効化されたウインドウコントロールオーバーレイの CSS の色。 既定値はシステムカラーです。
    • symbolColor String (任意) Windows - 有効化されたウインドウコントロールオーバーレイ内の記号の CSS の色。 既定値はシステムカラーです。
    • height Integer (任意) macOS Windows - タイトルバーとウインドウコントロールオーバーレイの高さをピクセル単位で指定します。 既定値はシステムの高さです。

minWidth/maxWidth/minHeight/maxHeight で最小もしくは最大のウインドウサイズを設定するのは、ユーザを束縛するだけです。 サイズ制約に関係しないサイズを setBounds/setSizeBrowserWindow のコンストラクタに渡すことは差し支えありません。

type オプションに設定できる値と動作は、プラットフォーム依存です。 以下は取りうる値です。

  • Linuxでは、設定できる値は、desktopdocktoolbarsplashnotification です。
    • desktop タイプは、ウインドウをデスクトップのバックグラウンドウインドウのレベル (kCGDesktopWindowLevel - 1) に配置します。 ただし、デスクトップウインドウはフォーカス、キーボード、マウスのイベントを受け取らないことに注意してください。 globalShortcut を使用すれば、辛うじて入力を受け取れます。
    • dock タイプは、Dock のようなウインドウの動作を生成します。
    • toolbar タイプは、ツールバーの見た目でウインドウを生成します。
    • splash タイプは特殊な動作をします。 たとえウインドウ本文の CSS スタイルが -webkit-app-region: drag であっても、ドラッグできません。 このタイプは主にスプラッシュスクリーンで使用されます。
    • notification タイプはシステム通知の様に動作するウインドウを作成します。
  • macOS では、設定できるタイプは desktoptexturedpanel です。
    • textured タイプは、メタルのグラデーションの外観 (NSWindowStyleMaskTexturedBackground) を追加します。
    • desktop タイプは、ウインドウをデスクトップのバックグラウンドウインドウのレベル (kCGDesktopWindowLevel - 1) に配置します。 デスクトップウインドウはフォーカス、キーボードやマウスイベントを受け付けようとしないことに注意してください。しかしながら、globalShortcut を使って、かろうじて入力を受け付けることはできます。
    • panel タイプは、通常 NSPanel に予約されているNSWindowStyleMaskNonactivatingPanel スタイルマスクを実行時に追加することにより、フルスクリーンのアプリの上にウィンドウを浮かせられます。 また、このウインドウはすべてのスペース (デスクトップ) 上で表示されます。
  • Windowsでは、設定できるタイプは、toolbar です。