BrowserWindowConstructorOptions オブジェクト
width
Integer (任意) - ピクセル単位でのウインドウの幅。 省略値は800
です。height
Integer (任意) - ピクセル単位でのウインドウの高さ。 省略値は600
です。x
Integer (任意) - (y が使われている場合は 必須) ウインドウの画面左のオフセット。 省略すると、ウインドウは中央に配置されます。y
Integer (任意) - (x が使われている場合は 必須) ウインドウの画面上のオフセット。 省略すると、ウインドウは中央に配置されます。useContentSize
boolean (任意) -width
とheight
が、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 (任意) -show
がfalse
で作成されたばかりのときに、レンダラーをアクティブにするかどうか。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 フォーマットのアルファはtransparent
をtrue
に設定することでサポートされます。 省略値は#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 - ウインドウのシステム描画の背景マテリアルを設定します。auto
、none
、mica
、acrylic
、tabbed
のいずれかです。 詳細は 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
オプションを使用することを選択することもできます。session
とpartition
の両方が指定されたときは、session
が優先されます。 省略値は、既定のセッションです。partition
string (任意) - セッションのパーティション文字列に従って、ページで使用されるセッションを設定します。partition
がpersist:
始まりの場合、ページはアプリの全ページで利用可能な永続的なセッションを同じpartition
で使用します。persist:
プレフィックスがない場合、ページは、インメモリセッションを使用します。 同じpartition
を割り当てることによって、複数のページが同じセッションを共有できます。 省略値は、既定のセッションです。zoomFactor
number (任意) - ページの既定のズーム倍率で、3.0
は300%
を表します。 デフォルトは1.0
です。javascript
boolean (任意) - JavaScript サポートを有効にします。 省略値はtrue
です。webSecurity
boolean (任意) -false
のとき、同一オリジンポリシー (通常、テスト用Webサイトを使用します) が無効になり、ユーザによって設定されない場合、allowRunningInsecureContent
がtrue
に設定されます。 省略値はtrue
です。allowRunningInsecureContent
boolean (任意) - https のページで http の URL からの JavaScript、CSS やプラグインを実行することを許可します。 省略値はfalse
です。images
boolean (任意) - 画像のサポートを有効にします。 省略値はtrue
です。imageAnimationPolicy
string (任意) - 画像アニメーションの実行方法を指定します。(例: GIF)。animate
、animateOnce
、noAnimation
のいずれかにできます。 デフォルトは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 disabledbackgroundThrottling
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>
の初期設定を変更したりするために、webContents のwill-attach-webview
イベントを使うことができます。additionalArguments
string[] (任意) - このアプリケーションのレンダラープロセスでprocess.argv
に追加される文字列のリスト。 小規模なデータをレンダラープロセスのプリロードスクリプトに渡すのに便利です。safeDialogs
boolean (任意) - ブラウザによる連続ダイアログ保護を有効にするかどうか。 省略値はfalse
です。safeDialogsMessage
string (任意) - 連続したダイアログからの保護が機能したときに表示されるメッセージ。 定義されていなければデフォルトメッセージが使われますが、現在のデフォルトメッセージは英語であり、ローカライズされていないことに注意してください。disableDialogs
boolean (任意) - ダイアログを完全に無効化するかどうか。safeDialogs
を上書きします。 省略値はfalse
です。navigateOnDragDrop
boolean (任意) - ファイルやリンクをページにドラッグ & ドロップした際にナビゲーションするかどうか。 省略値はfalse
です。autoplayPolicy
string (任意) - ウインドウ内のコンテンツに適用される自動再生ポリシーで、no-user-gesture-required
、user-gesture-required
、document-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 のレイアウトをスクロール無しで格納するにあたって必要な最小サイズのことです。 これを有効にすると、優先サイズが変更されたときにWebContents
でpreferred-size-changed
イベントが発生します。 省略値はfalse
です。
titleBarOverlay
Object | Boolean (任意) - フレームレスウインドウを macOS のwin.setWindowButtonVisibility(true)
と組み合わせて使用している場合や、titleBarStyle
を使用して標準ウインドウコントロール (macOS では "信号機ボタン") が表示されている場合、このプロパティはウインドウコントロールオーバーレイで JavaScript API と CSS 環境変数 を有効にします。true
を指定すると、オーバーレイはデフォルトのシステムカラーになります。 省略値はfalse
です。color
String (任意) Windows - 有効化されたウインドウコントロールオーバーレイの CSS の色。 既定値はシステムカラーです。symbolColor
String (任意) Windows - 有効化されたウインドウコントロールオーバーレイ内の記号の CSS の色。 既定値はシステムカラーです。height
Integer (任意) macOS Windows - タイトルバーとウインドウコントロールオーバーレイの高さをピクセル単位で指定します。 既定値はシステムの高さです。
minWidth
/maxWidth
/minHeight
/maxHeight
で最小もしくは最大のウインドウサイズを設定するのは、ユーザを束縛するだけです。 サイズ制約に関係しないサイズを setBounds
/setSize
や BrowserWindow
のコンストラクタに渡すことは差し支えありません。
type
オプションに設定できる値と動作は、プラットフォーム依存です。 以下は取りうる値です。
- Linuxでは、設定できる値は、
desktop
、dock
、toolbar
、splash
、notification
です。desktop
タイプは、ウインドウをデスクトップのバックグラウンドウインドウのレベル (kCGDesktopWindowLevel - 1) に配置します。 ただし、デスクトップウインドウはフォーカス、キーボード、マウスのイベントを受け取らないことに注意してください。 globalShortcut を使用すれば、辛うじて入力を受け取れます。dock
タイプは、Dock のようなウインドウの動作を生成します。toolbar
タイプは、ツールバーの見た目でウインドウを生成します。splash
タイプは特殊な動作をします。 たとえウインドウ本文の CSS スタイルが -webkit-app-region: drag であっても、ドラッグできません。 このタイプは主にスプラッシュスクリーンで使用されます。notification
タイプはシステム通知の様に動作するウインドウを作成します。
- macOS では、設定できるタイプは
desktop
、textured
、panel
です。textured
タイプは、メタルのグラデーションの外観 (NSWindowStyleMaskTexturedBackground
) を追加します。desktop
タイプは、ウインドウをデスクトップのバックグラウンドウインドウのレベル (kCGDesktopWindowLevel - 1
) に配置します。 デスクトップウインドウはフォーカス、キーボードやマウスイベントを受け付けようとしないことに注意してください。しかしながら、globalShortcut
を使って、かろうじて入力を受け付けることはできます。panel
タイプは、通常 NSPanel に予約されているNSWindowStyleMaskNonactivatingPanel
スタイルマスクを実行時に追加することにより、フルスクリーンのアプリの上にウィンドウを浮かせられます。 また、このウインドウはすべてのスペース (デスクトップ) 上で表示されます。
- Windowsでは、設定できるタイプは、
toolbar
です。