Electron 是一個使用 JavaScript、HTML 和 CSS 構(gòu)建桌面應(yīng)用程序的框架
安裝
mkdir my-app && cd my-app
npm init
在項目根目錄會生成 package.json
{
"name": "my-app",
"version": "1.0.0",
"description": "Hello World!",
"main": "main.js",
"author": "Jane Doe",
"license": "MIT"
}
安裝依賴包
npm install --save-dev electron
添加開發(fā)模式打開您的應(yīng)用命令
"scripts": {
"start": "electron ."
}
運行命令,啟動應(yīng)用程序
npm start
入口都是 main 文件。這個文件控制了主進程,它運行在一個完整的Node.js環(huán)境中
創(chuàng)建 index.html 頁面
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<!-- https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP -->
<meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self'">
<title>Hello World!</title>
</head>
<body>
<h1>Hello World!</h1>
</body>
</html>
窗口中打開您的頁面
const {
app,
BrowserWindow
} = require('electron');
const createWindow = () => {
const win = new BrowserWindow({
width: 800,
height: 600
});
win.loadFile('index.html');
}
app.whenReady().then(() => {
createWindow()
})
app.on('window-all-closed', () => {
if (process.platform !== 'darwin') {
app.quit()
}
})
const win = new BrowserWindow({
frame: false
})
const win = new BrowserWindow({
titleBarStyle: 'hidden'
})
const win = new BrowserWindow({
titleBarStyle: 'customButtonsOnHover'
})
創(chuàng)建一個名為 preload.js 的新腳本如下
window.addEventListener('DOMContentLoaded', () => {
const replaceText = (selector, text) => {
const element = document.getElementById(selector)
if (element) element.innerText = text
}
for (const dependency of ['chrome', 'node', 'electron']) {
replaceText(`${dependency}-version`, process.versions[dependency])
}
})
在創(chuàng)建窗口方法中傳遞 preload 參數(shù)
const path = require('path')
const createWindow = () => {
const win = new BrowserWindow({
width: 800,
height: 600,
webPreferences: {
preload: path.join(__dirname, 'preload.js')
}
})
win.loadFile('index.html')
}
const { contextBridge } = require('electron')
contextBridge.exposeInMainWorld(
'versions', {
// 能暴露的不僅僅是函數(shù),我們還可以暴露變量
node:
() => process.versions.node,
chrome:
() => process.versions.chrome,
electron:
() => process.versions.electron,
}
);
通過 preload.js 腳本將 versions 這一全局變量暴露給渲染器
const myWindow = new BrowserWindow({
webPreferences: {
spellcheck: true
}
})
設(shè)置拼寫檢查器以檢查英語 和 法語
myWindow.session
.setSpellCheckerLanguages([
'en-US', 'fr'
])
const { app } = require('electron');
app.on('session-created', (session) => {
console.log(session);
})
// 立即重啟當(dāng)前實例并向新的實例添加新的命令行參數(shù)的示例
app.relaunch({
args: process.argv.slice(1).concat(['--relaunch']);
})
app.exit(0);
| :- | :- |
|---|---|
quit | 嘗試關(guān)閉所有窗口 # |
exit | 使用 exitCode 立即退出 # |
relaunch | 當(dāng)前實例退出,重啟應(yīng)用 # |
isReady | 已完成初始化返回 boolean # |
whenReady | 初始化完成 # |
focus | 獲得焦點/激活的 app # |
hide | 隱藏所有的應(yīng)用窗口,不是最小化 # |
isHidden (mac) | 所有窗口是否都被隱藏 # |
show (mac) | 顯示隱藏后的應(yīng)用程序窗口 # |
setAppLogsPath | 設(shè)置或創(chuàng)建一個您的應(yīng)用程序日志目錄 # |
getAppPath | 獲取當(dāng)前應(yīng)用程序目錄 # |
getPath(name) | 與 name 關(guān)聯(lián)的目錄或文件的路徑 # |
getFileIcon | 一個 NativeImage 類型的應(yīng)用圖標(biāo) # |
setPath(name) | 重寫 name 的路徑特定文件夾或文件 # |
getVersion | 應(yīng)用程序的版本號 # |
getName | 應(yīng)用程序的名稱 # |
setName | 設(shè)置當(dāng)前應(yīng)用程序的名字 # |
getLocale | 當(dāng)前應(yīng)用程序區(qū)域 # |
getLocaleCountryCode | 獲取雙字母 ISO 3166 國家代碼 # |
getSystemLocale | 當(dāng)前系統(tǒng)語言環(huán)境 # |
addRecentDocument (win/mac) | 最近打開的文件列表添加新路徑 # |
clearRecentDocuments (win/mac) | 清空最近打開的文檔列表# |
setAsDefaultProtocolClient | 設(shè)置協(xié)議(URI scheme)默認(rèn)處理程序 # |
removeAsDefaultProtocolClient | 移除默認(rèn)處理器 # |
isDefaultProtocolClient | 可執(zhí)行程序是否是協(xié)議 # |
getApplicationNameForProtocol | 返回默認(rèn)處理器的應(yīng)用程序名稱 # |
getApplicationInfoForProtocol (win/mac) | 返回包含應(yīng)用程序名稱 # |
setUserTasks (win) | 添加 tasks 到Jump List的Tasks類別 # |
getJumpListSettings (win) | 獲取跳轉(zhuǎn)列表 # |
setJumpList (win) | 設(shè)置跳轉(zhuǎn)列表 # |
requestSingleInstanceLock | 返回應(yīng)用程序?qū)嵗欠癯晒θ×随i # |
hasSingleInstanceLock | 返回應(yīng)用實例當(dāng)前是否持有單例鎖 # |
releaseSingleInstanceLock | 釋放所有創(chuàng)建的鎖 # |
setUserActivity (mac) | 創(chuàng)建 NSUserActivity 并將其設(shè)置為當(dāng)前活動 # |
getCurrentActivityType (mac) | 正在運行的 activity 的類型 # |
invalidateCurrentActivity (mac) | 使當(dāng)前的Handoff用戶活動無效 # |
resignCurrentActivity (mac) | 將當(dāng)前 Handoff 用戶活動標(biāo)記為非活動,但不使其失效 # |
updateCurrentActivity (mac) | 將項目從 用戶信息 合并到其當(dāng)前 用戶信息 字典中 # |
setAppUserModelId (win) | 改變當(dāng)前應(yīng)用的 Application User Model ID 為 id # |
setActivationPolicy (mac) | 為給定應(yīng)用設(shè)置激活策略 # |
importCertificate (linux) | 將 pkcs12 格式的證書導(dǎo)入到平臺證書庫 # |
configureHostResolver | 配置主機解析器 (DNS 和 DNS-over-HTTPS) # |
disableHardwareAcceleration | 禁用當(dāng)前應(yīng)用程序的硬件加速 # |
disableDomainBlockingFor3DAPIs | GPU 進程頻繁崩潰,在每個域的基礎(chǔ)上重新啟動,禁用該行為 # |
getAppMetrics | 返回 ProcessMetric[] # |
getGPUFeatureStatus | 返回 GPUFeatureStatus # |
getGPUInfo | GPU 信息 # |
setBadgeCount (mac/linux) | 應(yīng)用設(shè)置計數(shù)器角標(biāo) # |
getBadgeCount (mac/linux) | 獲取計數(shù)器(badge)顯示的當(dāng)前值 # |
isUnityRunning (linux) | 前桌面環(huán)境是否為 Unity 啟動器 # |
getLoginItemSettings (mac/win) | 為 openAtLogin 設(shè)置相同的參數(shù)已確保正確的設(shè)置 # |
setLoginItemSettings (mac/win) | 傳遞指定應(yīng)用程序名稱的參數(shù) # |
isAccessibilitySupportEnabled (mac/win) | 是否開啟了輔助功能 # |
setAccessibilitySupportEnabled (mac/win) | 啟用或禁用訪問權(quán)限樹視圖 # |
showAboutPanel | 顯示程序的"關(guān)于"面板選項 # |
setAboutPanelOptions | 設(shè)置 "關(guān)于" 面板選項 # |
isEmojiPanelSupported | 當(dāng)前操作系統(tǒng)是否支持本地 emoji 選擇器 # |
showEmojiPanel (mac/win) | 打開系統(tǒng)自身的emjio選取器 # |
startAccessingSecurityScopedResource (mac) | 開始訪問安全范圍內(nèi)的資源 # |
enableSandbox | 在應(yīng)用程序上啟用完全沙盒模式 # |
isInApplicationsFolder (mac) | 是否從系統(tǒng)應(yīng)用程序文件夾運行 # |
moveToApplicationsFolder (mac) | # |
isSecureKeyboardEntryEnabled (mac) | 是否已啟用安全鍵盤輸入 # |
setSecureKeyboardEntryEnabled (mac) | 在應(yīng)用中啟用安全鍵盤輸入 # |
const { app } = require('electron');
let myWindow = null;
const additionalData = { myKey: 'myValue' };
const gotTheLock = app.requestSingleInstanceLock(additionalData);
if (!gotTheLock) {
app.quit();
} else {
app.on(
'second-instance',
(event, commandLine, workingDirectory, additionalData) => {
// 輸出從第二個實例中接收到的數(shù)據(jù)
console.log(additionalData);
// 有人試圖運行第二個實例,我們應(yīng)該關(guān)注我們的窗口
if (myWindow) {
if (myWindow.isMinimized()) myWindow.restore();
myWindow.focus();
}
}
)
// 創(chuàng)建 myWindow, 加載應(yīng)用的其余部分, etc...
app.whenReady().then(() => {
myWindow = createWindow();
})
}
| :- | :- |
|---|---|
will-finish-launching | 基礎(chǔ)的啟動的時候被觸發(fā) # |
ready | 完成初始化時,觸發(fā)一次 # |
window-all-closed | 在程序關(guān)閉窗口前發(fā)信號 # |
before-quit | 當(dāng)所有窗口被關(guān)閉后觸發(fā),應(yīng)用程序?qū)⑼顺?# |
will-quit | 所有窗口被關(guān)閉后觸發(fā),應(yīng)用程序?qū)⑼顺?# |
quit | 在應(yīng)用程序退出時觸發(fā) # |
open-file (mac) | 在應(yīng)用中打開一個文件時觸發(fā) # |
open-url (mac) | 應(yīng)用中打開一個 URL 時觸發(fā) # |
activate (mac) | 當(dāng)應(yīng)用被激活時觸發(fā) # |
did-become-active (mac) | 不同設(shè)備的活動想要恢復(fù)時在切換期間觸發(fā) # |
continue-activity (mac) | 不同設(shè)備的活動通過 Handoff 想要恢復(fù)時觸發(fā) # |
will-continue-activity (mac) | 恢復(fù)來自不同設(shè)備的活動之前在切換期間觸發(fā) # |
continue-activity-error (mac) | 不同設(shè)備的活動無法恢復(fù)時在切換期間觸發(fā) # |
activity-was-continued (mac) | 活動在另一個設(shè)備上成功恢復(fù)后切換期間觸發(fā) # |
update-activity-state (mac) | 當(dāng)即將在另一臺設(shè)備上恢復(fù)切換時觸發(fā) # |
new-window-for-tab (mac) | 用戶點擊原生的 macOS 新標(biāo)簽按鈕時觸發(fā) # |
browser-window-blur | 當(dāng) browserWindow 變得模糊時觸發(fā) # |
browser-window-focus | 當(dāng) browserWindow 獲得焦點時觸發(fā) # |
browser-window-created | 創(chuàng)建新的 browserWindow 時觸發(fā) # |
web-contents-created | 創(chuàng)建新的 webContents 時觸發(fā) # |
certificate-error | 當(dāng)對 url 的 certificate 證書驗證失敗觸發(fā) # |
select-client-certificate | 當(dāng)一個客戶證書被請求的時候發(fā)出 # |
login | 當(dāng) webContents 要進行基本身份驗證時觸發(fā) # |
gpu-info-update | 每當(dāng)有 GPU 信息更新時觸發(fā) # |
gpu-process-crashed | 當(dāng) gpu 進程崩潰或關(guān)閉(殺死)時觸發(fā) # |
renderer-process-crashed | 渲染器進程崩潰或關(guān)閉(殺死)時觸發(fā) # |
render-process-gone | 渲染器進程意外消失時觸發(fā) # |
child-process-gone | 子進程意外消失時觸發(fā) # |
accessibility-support-changed | 當(dāng) Chrome 的輔助功能狀態(tài)改變時觸發(fā) # |
session-created | 創(chuàng)建了一個新的 session 后被觸發(fā) # |
second-instance | 在你的應(yīng)用程序的首個實例中觸發(fā) # |
| :- | :- |
|---|---|
accessibilitySupportEnabled (mac/win) | 是否開啟了輔助功能 # |
applicationMenu | 傳遞 Menu 來給此屬性賦值 # |
badgeCount (mac/linux) | 返回應(yīng)用角標(biāo)計數(shù)的 Integer 屬性 # |
commandLine | Chromium 使用的命令行參數(shù) # |
dock (mac/只讀) | 用戶dock中對應(yīng)用圖標(biāo)進行操作 # |
isPackaged (只讀) | 應(yīng)用是否已經(jīng)打包 # |
name | 當(dāng)前應(yīng)用程序的名稱 # |
userAgentFallback | 全局回退的用戶代理字符串 # |
runningUnderRosettaTranslation | 提示下載應(yīng)用程序的 arm64 版本 # |
runningUnderARM64Translation (mac/win) | 前應(yīng)用正在使用 ARM64 運行環(huán)境 # |
| :- | :- |
|---|---|
width 整數(shù) | 窗口的寬度(以像素為單位)。默認(rèn)值 (800) |
height 整數(shù) | 窗口的高度(以像素為單位)。默認(rèn)值 (600) |
x 整數(shù) (可選) | 窗口相對于屏幕左側(cè)偏移量。默認(rèn)值窗口居中 |
y 整數(shù) (可選) | 窗口相對于屏幕頂端偏移量。默認(rèn)值窗口居中 |
useContentSize boolean | (寬) 和 (高) 設(shè)置為web頁面的尺寸。默認(rèn)值 (false) |
center boolean | 窗口是否在屏幕居中。默認(rèn)值 (false) |
minHeight 整數(shù) | 窗口的最小高度。默認(rèn)值 (0) |
maxWidth 整數(shù) | 窗口的最大寬度。默認(rèn)值不限 |
maxHeight 整數(shù) | 窗口的最大高度。默認(rèn)值不限 |
resizable boolean | 窗口大小是否可調(diào)整。默認(rèn)值 (true) |
movable boolean (win/mac) | 窗口是否可移動。默認(rèn)值 (true) |
minimizable boolean (win/mac) | 窗口是否可最小化。默認(rèn)值 (true) |
maximizable boolean (win/mac) | 窗口是否最大化。默認(rèn)值 (true) |
closable boolean (win/mac) | 窗口是否可關(guān)閉。默認(rèn)值 (true) |
focusable boolean | 窗口是否可以聚焦. 默認(rèn)值 (true)。在 Windows 中設(shè)置 (focusable: false) 也意味著設(shè)置了 (skipTaskbar: true) 在 Linux 中設(shè)置 (focusable: false) 時窗口停止與 wm 交互, 并且窗口將始終置頂 |
alwaysOnTop boolean | 窗口是否永遠(yuǎn)在別的窗口的上面。默認(rèn)值 (false) |
fullscreen boolean | 窗口是否全屏。為 (false) 時 macOS 上按鈕將被隱藏或禁用。默認(rèn)值 (false) |
fullscreenable boolean | 窗口是否可以進入全屏狀態(tài)。macOS上,最大化/縮放按鈕是否可用 默認(rèn)值 (true) |
simpleFullscreen boolean (mac) | 在 macOS 上使用 pre-Lion 全屏。默認(rèn)值 (false) |
skipTaskbar boolean (win/mac) | 是否在任務(wù)欄中顯示窗口。默認(rèn)值 (false) |
kiosk boolean | 窗口是否進入kiosk模式。默認(rèn)值 (false) |
title string | 默認(rèn)窗口標(biāo)題 默認(rèn)為 ("Electron") 。如果由 (loadURL()) 加載的HTML文件中含有標(biāo)簽 (<title>) ,此屬性將被忽略 |
icon NativeImage/string | 窗口圖標(biāo)。在 Windows 上推薦使用 (ICO) 圖標(biāo)來獲得最佳的視覺效果, 默認(rèn)使用可執(zhí)行文件的圖標(biāo) |
show boolean | 窗口是否在創(chuàng)建時顯示。默認(rèn)值 (true) |
paintWhenInitiallyHidden boolean | 當(dāng) (show) 為 (false) 并且渲染器剛剛被創(chuàng)建時,它是否應(yīng)激活。為了讓 (document.visibilityState) 在 (show: false) 的情況下第一次加載時正確地工作,你應(yīng)該把這個設(shè)置成 (false)。設(shè)置為 (false) 將會導(dǎo)致 (ready-to-show) 事件不觸發(fā)。默認(rèn)值 (true) |
frame boolean | 設(shè)置為 (false) 時可以創(chuàng)建一個無邊框窗口,默認(rèn)值 (true) |
parent BrowserWindow | 指定父窗口 默認(rèn)值 (null) |
modal boolean | 當(dāng)前是否為模態(tài)窗口。只有當(dāng)窗口是子窗口時才起作用。默認(rèn)值 (false) |
acceptFirstMouse boolean (mac) | 點擊 非活動窗口是否會穿透到 web contents。默認(rèn)值 (false) |
disableAutoHideCursor boolean | 是否在打字時隱藏光標(biāo)。默認(rèn)值 (false) |
autoHideMenuBar boolean | 自動隱藏菜單欄,除非按了_(Alt)_鍵。默認(rèn)值 (false) |
enableLargerThanScreen boolean (mac) | 使窗口尺寸可大于屏幕的大小。其他操作系統(tǒng)默認(rèn)允許大于屏幕的窗口。默認(rèn)值 (false) |
backgroundColor string | 窗口背景色,格式為 Hex, RGB, RGBA, HSL, HSLA 或 CSS 命名顏色。如果 (transparent) 設(shè)置為 (true),則支持 #AARRGGBB 格式的透明。默認(rèn)值 (#FFF)(白色) |
hasShadow boolean | 窗口是否有陰影. 默認(rèn)值 (true) |
opacity number (win/mac) | 設(shè)置窗口的初始透明度,在 0.0(全透明)和 1.0(完全不透明)之間 。 目前僅在 Windows 和 macOS上實現(xiàn)。 |
darkTheme boolean | 強制窗口使用深色主題,只在部分GTK+3桌面環(huán)境下有效。 默認(rèn)值 (false). |
transparent boolean | 使窗口 透明。 默認(rèn)值 (false). 在Windows上,僅在無邊框窗口下起作用。 |
type string | 窗口的類型, 默認(rèn)為普通窗口. 更多信息見下文 |
visualEffectState string (mac) | 在 macOS 上指定外觀應(yīng)如何響應(yīng)窗口活動狀態(tài)。 必須與 (vibrancy) 屬性一起使用。 可能的值有 |
visualEffectState.followWindow | 當(dāng)窗口處于激活狀態(tài)時,后臺應(yīng)自動顯示為激活狀態(tài),當(dāng)窗口處于非激活狀態(tài)時,后臺應(yīng)自動顯示為非激活狀態(tài)。 默認(rèn)為該值。 |
visualEffectState.active | 后臺應(yīng)一直顯示為激活狀態(tài)。 |
visualEffectState.inactive | 后臺應(yīng)一直顯示為非激活狀態(tài)。 |
titleBarStyle string (win/mac) | 窗口標(biāo)題欄樣式。默認(rèn)值 (default) |
titleBarStyle.default | 分別返回 mac 或者 win 的標(biāo)準(zhǔn)標(biāo)題欄 |
titleBarStyle.hidden | 在一個隱藏的標(biāo)題欄和一個全尺寸大小的內(nèi)容窗口中取得結(jié)果。 在 macOS 內(nèi), 窗口將一直擁有位于左上的標(biāo)準(zhǔn)窗口控制器 (“traffic lights”)。 在 Windows上,當(dāng)與 (titleBarOverlay: true) 合并時,它將激活窗口控件疊加(詳情請參閱 (titleBarOverlay)),否則將不會顯示窗口控件。 |
titleBarStyle.hiddenInset (mac) | 隱藏標(biāo)題欄,使用窗口邊緣稍微小的紅綠燈按鈕替代。 |
titleBarStyle.customButtonsOnHover (mac) | 隱藏的標(biāo)題欄的全尺寸的內(nèi)容窗口, 紅綠燈按鈕在鼠標(biāo)懸停在窗口左上方時顯示。**注意:**此選項目前是實驗性的。 |
trafficLightPosition Point (mac) | 在無邊框窗口中設(shè)置燈綠燈按鈕位置。 |
roundedCorners boolean (mac) | 無邊框窗口在 macOS 上,是否應(yīng)該有圓角。 默認(rèn)值為 (true)。 屬性設(shè)置為 (false) ,將阻止窗口是可全屏的。 |
fullscreenWindowTitle | titleBarStyle 設(shè)置為 (hiddenInset) 時,在 macOS 全屏模式下標(biāo)題欄顯示標(biāo)題。默認(rèn)值為 (false). |
thickFrame boolean | 對 Windows 上的無框窗口使用 (WS_THICKFRAME) 樣式,會增加標(biāo)準(zhǔn)窗口框架。 設(shè)置為 (false) 時將移除窗口的陰影和動畫. 默認(rèn)值為 (true)。 |
vibrancy string (mac) | 為窗口添加一種類型的動態(tài)效果,僅 macOS。 可以是 (appearance-based),(light),(dark),(titlebar),(selection),(menu),(popover),(sidebar),(medium-light),(ultra-dark),(header),(sheet),(window),(hud),(fullscreen-ui),(tooltip),(content),(under-window) 或 (under-page)。 請注意 (appearance-based),(light),(dark),(medium-light) 和 (ultra-dark) 已棄用,在 macOS Catalina (10.15) 中已經(jīng)移除。 |
zoomToPageWidth boolean (mac) | 在 macOS 上控制,當(dāng)按住 option 點擊工具欄綠色紅綠燈按鈕或點擊窗口 > 放大菜單項的行為。 如果為 (true),窗口為將會縮放到適合寬度,若為 (false) 將會放大到屏幕寬度。 這也會影響,直接調(diào)用 (maximize()) 的行為。 默認(rèn)值為 (false). |
tabbingIdentifier string (mac) | 選項卡組名稱,允許在原生選擇卡中打開窗口,macOS 10.12+ 支持。 Windows 中,有相同選項卡標(biāo)識的將會組合在一起。 這會添加一個原生新增選項卡按鈕到你窗口的選項卡欄,同時 (app) 和窗口允許接收 (new-window-for-tab) 事件。 |
webPreferences Object | 網(wǎng)頁功能設(shè)置。 |
webPreferences.devTools boolean | 是否開啟 DevTools. 如果設(shè)置為 (false), 則無法使用 (BrowserWindow.webContents.openDevTools ()) 打開 DevTools。 默認(rèn)值為 (true)。 |
webPreferences.nodeIntegration boolean | 是否啟用Node integration. 默認(rèn)值為 (false). |
webPreferences.nodeIntegrationInWorker boolean | 是否在Web工作器中啟用了Node集成. 默認(rèn)值為 (false). 更多內(nèi)容參見 多線程 |
webPreferences.nodeIntegrationInSubFrames boolean 實驗性 | 是否允許在子頁面(iframe)或子窗口(child window)中集成Node.js; 預(yù)先加載的腳本會被注入到每一個iframe,你可以用 (process.isMainFrame) 來判斷當(dāng)前是否處于主框架(main frame)中。 |
webPreferences.preload string | 在頁面運行其他腳本之前預(yù)先加載指定的腳本 無論頁面是否集成Node, 此腳本都可以訪問所有Node API 腳本路徑為文件的絕對路徑。 當(dāng) node integration 關(guān)閉時, 預(yù)加載的腳本將從全局范圍重新引入node的全局引用標(biāo)志參考示例 |
webPreferences.sandbox boolean | 如果設(shè)置該參數(shù), 沙箱的渲染器將與窗口關(guān)聯(lián), 使它與Chromium OS-level 的沙箱兼容, 并禁用 Node. js 引擎。 它與 (nodeIntegration) 的選項不同,且預(yù)加載腳本的 API 也有限制。更多詳情 |
webPreferences.session | Session 設(shè)置頁面的 session 而不是直接忽略 Session 對象, 也可用 (partition) 選項來代替,它接受一個 partition 字符串. 同時設(shè)置了_(session)_ 和 _(partition)_時, (session) 的優(yōu)先級更高. 默認(rèn)使用默認(rèn)的 session. |
webPreferences.partition | string (optional) - 通過 session 的 partition 字符串來設(shè)置界面session. 如果 (partition) 以 (persist:)開頭, 該頁面將使用持續(xù)的 session,并在所有頁面生效,且使用同一個(partition). 如果沒有 (persist:) 前綴, 頁面將使用 in-memory session. 通過分配相同的 (partition), 多個頁可以共享同一會話。 默認(rèn)使用默認(rèn)的 session. |
webPreferences.zoomFactor number | 頁面的默認(rèn)縮放系數(shù), (3.0) 表示 (300%)。 默認(rèn)值為 (1.0). |
webPreferences.javascript boolean | 是否啟用 JavaScript 支持。 默認(rèn)值為 (true)。 |
webPreferences.webSecurity boolean | 當(dāng)設(shè)置為 (false), 它將禁用同源策略 (通常用來測試網(wǎng)站), 如果此選項不是由開發(fā)者設(shè)置的,還會把 _(allowRunningInsecureContent)_設(shè)置為 (true). 默認(rèn)值為 (true) |
webPreferences.allowRunningInsecureContent boolean | 允許一個 https 頁面運行來自http url的JavaScript, CSS 或 plugins。 默認(rèn)值為 (false) |
webPreferences.images boolean | 允許加載圖片。 默認(rèn)值為 (true) |
webPreferences.imageAnimationPolicy string | 指定如何運行圖像動畫 (比如: GIF等). 可以是 (animate), (animateOnce) 或 (noAnimation)。默認(rèn)值為 (animate) |
webPreferences.textAreasAreResizable boolean | 允許調(diào)整 TextArea 元素大小。 默認(rèn)值為 (true) |
webPreferences.webgl boolean | 啟用 WebGL 支持。 默認(rèn)值為 (true) |
webPreferences.plugins boolean | 是否應(yīng)該啟用插件。 默認(rèn)值為 (false) |
webPreferences.experimentalFeatures boolean | 啟用 Chromium 的實驗功能。 默認(rèn)值為 (false) |
webPreferences.scrollBounce boolean (mac) | 啟用滾動回彈(橡皮筋)效果。 默認(rèn)值為 (false) |
webPreferences.enableBlinkFeaturesstring | 以 (逗號) 分隔的需要啟用的特性列表,譬如 (CSSVariables,KeyboardEventKey) 在 RuntimeEnabledFeatures.json5 文件中查看被支持的所有特性 |
webPreferences.disableBlinkFeatures string | 以 (,) 分隔的禁用特性列表, 如 (CSSVariables,KeyboardEventKey) 在 RuntimeEnabledFeatures.json5 文件中查看被支持的所有特性 |
defaultFontFamily Object | 為 font-family 設(shè)置默認(rèn)字體 |
defaultFontFamily.standard string | 默認(rèn)值為 (Times New Roman) |
defaultFontFamily.serif string | 默認(rèn)值為 (Times New Roman) |
defaultFontFamily.sansSerif string | 默認(rèn)值為 (Arial) |
defaultFontFamily.monospace string | 默認(rèn)值為 (Courier New) |
defaultFontFamily.cursive string | 默認(rèn)值為 (Script) |
defaultFontFamily.fantasy string | 默認(rèn)值為 (Impact) |
defaultFontSize Integer | 默認(rèn)值為 (16) |
defaultMonospaceFontSize Integer | 默認(rèn)值為 (13) |
minimumFontSize Integer | 默認(rèn)值為 (0) |
defaultEncoding string | 默認(rèn)值為 (ISO-8859-1) |
backgroundThrottling boolean | 是否在頁面成為背景時限制動畫和計時器。 這也會影響到 Visibility API。默認(rèn)值為 (true) |
offscreen boolean | 是否繪制和渲染可視區(qū)域外的窗口。默認(rèn)值為 (false)。更多詳情, 請參見 offscreen rendering tutorial |
contextIsolation boolean | 是否在獨立 JavaScript 環(huán)境中運行 Electron API和指定的_(preload)_ 腳本。默認(rèn)為 (true)。 (預(yù)加載)腳本所運行的上下文環(huán)境只能訪問其自身專用的 (文檔) 和全局 (窗口),其自身一系列內(nèi)置的JavaScript ((Array), (Object), (JSON), 等等) 也是如此,這些對于已加載的內(nèi)容都是不可見的。 Electron API 將只在_(預(yù)加載)腳本中可用,在已加載頁面中不可用。 這個選項應(yīng)被用于加載可能不被信任的遠(yuǎn)程內(nèi)容時來確保加載的內(nèi)容無法篡改(預(yù)加載)_腳本和任何正在使用的Electron api。 該選項使用的是與 |
webviewTag boolean | 是否啟用 (<webview>) tag標(biāo)簽。默認(rèn)值為 (false)。注意: 為 (< webview>) 配置的 (preload) 腳本在執(zhí)行時將啟用節(jié)點集成, 因此應(yīng)確保遠(yuǎn)程或不受信任的內(nèi)容無法創(chuàng)建惡意的 (preload) 腳本 。 可以使用 webContents 上的 (will-attach-webview) 事件對 (preload) 腳本進行剝離, 并驗證或更改 (<webview>) 的初始設(shè)置 |
additionalArguments string[] | strin一個將被附加到當(dāng)前應(yīng)用程序的渲染器進程中_(process.argv)_的字符串列表??捎糜趯⑸倭康臄?shù)據(jù)傳遞到渲染器進程預(yù)加載腳本中。 |
safeDialogs boolean | 是否啟用瀏覽器樣式的持續(xù)對話框保護。 默認(rèn)值為 (false) |
safeDialogsMessage string | 當(dāng)持續(xù)對話框保護被觸發(fā)時顯示的消息。 如果沒有定義,那么將使用缺省的消息。注意:當(dāng)前缺省消息是英文,并沒有本地化 |
disableDialogs boolean | 是否完全禁用對話框。 覆蓋 (safeDialogs)。 默認(rèn)值為 (false) |
navigateOnDragDrop boolean | 將文件或鏈接拖放到頁面上時是否觸發(fā)頁面跳轉(zhuǎn)。 默認(rèn)值為 (false) |
autoplayPolicy string | 窗口中內(nèi)容要使用的自動播放策略,值可以是 (no-user-gesture-required), (user-gesture-required), (document-user-activation-required)。默認(rèn)為 (no-user-gesture-required) |
disableHtmlFullscreenWindowResize boolean | 是否阻止窗口在進入 HTML 全屏?xí)r調(diào)整大小。默認(rèn)值為 (false) |
accessibleTitle string | 僅提供給如屏幕讀取器等輔助工具的替代標(biāo)題字符串。此字符串不直接對用戶可見 |
spellcheck boolean | 是否啟用內(nèi)置拼寫檢查器。 默認(rèn)值為 (true) |
enableWebSQL boolean | 是否啟用 WebSQL api。 默認(rèn)值為 (true) |
v8CacheOptions string | 強制 blink 使用 v8 代碼緩存策略。 可接受的值為: |
v8CacheOptions.none | 禁用代碼緩存 |
v8CacheOptions.code | 基于啟發(fā)式代碼緩存 |
v8CacheOptions.bypassHeatCheck | 繞過啟發(fā)式代碼緩存,但使用懶編譯。 |
v8CacheOptions.bypassHeatCheckAndEagerCompile | 與上面相同,除了編譯是及時的。 默認(rèn)策略是 (code) |
enablePreferredSizeMode boolean | 是否啟用首選大小模式。 首選大小是包含文檔布局所需的最小大小--無需滾動。 啟用該屬性將導(dǎo)致在首選大小發(fā)生變化時,在 (WebContents) 上觸發(fā) (preferred-size-changed) 事件。默認(rèn)值為 (false) |
titleBarOverlay Object/Boolean | 當(dāng)在 macOS 使用無框窗口結(jié)合 (win.setWindowButtonVisibility(true)) 或使用 (titleBarStyle) 以便標(biāo)準(zhǔn)窗口控制 (在 macOS為 "traffic lights") 可見,此屬性將啟用 Window Controls Overlay JavaScript APIs 和 CSS Environment Variables。指定 (true) 將導(dǎo)致覆蓋默認(rèn)系統(tǒng)顏色。 默認(rèn)值為 (false) |
color String (win) | 啟用窗口控制時覆蓋面的 CSS 顏色 默認(rèn)是系統(tǒng)顏色 |
symbolColor String (win) | 啟用時窗口控制中符號的 CSS 顏色 默認(rèn)是系統(tǒng)顏色 |
height Integer (win/mac) | 標(biāo)題欄和 Window Controls Overlay,以像素為單位。 默認(rèn)值為系統(tǒng)高度 |
const { BrowserWindow } = require('electron')
const child = new BrowserWindow({ modal: true, show: false })
child.loadURL('https://github.com')
child.once('ready-to-show', () => {
child.show()
})
| :- | :- |
|---|---|
page-title-updated | 文檔更改標(biāo)題時觸發(fā) # |
close | 在窗口要關(guān)閉的時候觸發(fā) # |
closed | 在窗口關(guān)閉時觸發(fā) # |
session-end (win) | 因為強制關(guān)機/重啟/會話注銷而導(dǎo)致窗口會話結(jié)束時觸發(fā) # |
unresponsive | 網(wǎng)頁變得未響應(yīng)時觸發(fā) # |
responsive | 未響應(yīng)的頁面變成響應(yīng)時觸發(fā) # |
blur | 當(dāng)窗口失去焦點時觸發(fā) # |
focus | 當(dāng)窗口獲得焦點時觸發(fā) # |
show | 當(dāng)窗口顯示時觸發(fā) # |
hide | 當(dāng)窗口隱藏時觸發(fā) # |
ready-to-show | 當(dāng)頁面已經(jīng)渲染完成(還沒有顯示)窗口可以被顯示時觸發(fā)# |
maximize | 窗口最大化時觸發(fā) # |
unmaximize | 當(dāng)窗口從最大化狀態(tài)退出時觸發(fā) # |
minimize | 窗口最小化時觸發(fā) # |
restore | 當(dāng)窗口從最小化狀態(tài)恢復(fù)時觸發(fā) # |
will-resize (mac/win) | 調(diào)整窗口大小前觸發(fā) # |
resize | 調(diào)整窗口大小后觸發(fā) # |
resized (mac/win) | 當(dāng)窗口完成調(diào)整大小后觸發(fā)一次 # |
will-move (mac/win) | 窗口移動前觸發(fā) # |
move | 窗口移動到新位置時觸發(fā) # |
moved (mac/win) | 當(dāng)窗口移動到新位置時觸發(fā)一次 # |
enter-full-screen | 窗口進入全屏狀態(tài)時觸發(fā) # |
leave-full-screen | 窗口離開全屏狀態(tài)時觸發(fā) # |
enter-html-full-screen | 窗口進入由HTML API 觸發(fā)的全屏狀態(tài)時觸發(fā) # |
leave-html-full-screen | 窗口離開由HTML API觸發(fā)的全屏狀態(tài)時觸發(fā) # |
always-on-top-changed | 設(shè)置或取消設(shè)置窗口總是在其他窗口的頂部顯示時觸發(fā) # |
app-command | 請求一個應(yīng)用程序命令時觸發(fā) # |
scroll-touch-begin (mac) | 滾輪事件階段開始時觸發(fā) # |
scroll-touch-end (mac) | 滾輪事件階段結(jié)束時觸發(fā) # |
scroll-touch-edge (mac) | 滾輪事件階段到達元素邊緣時觸發(fā) # |
swipe | 三指滑動時觸發(fā) # |
rotate-gesture (mac) | 在觸控板旋轉(zhuǎn)手勢上觸發(fā) # |
sheet-begin (mac) | 窗口打開sheet(工作表) 時觸發(fā) # |
sheet-end (mac) | 窗口關(guān)閉sheet(工作表) 時觸發(fā) # |
new-window-for-tab (mac) | 當(dāng)點擊了系統(tǒng)的新標(biāo)簽按鈕時觸發(fā) # |
system-context-menu (win) | 當(dāng)系統(tǒng)上下文菜單在窗口上觸發(fā)時觸發(fā) # |
| :- | :- |
|---|---|
win.destroy() | 強制關(guān)閉窗口 # |
win.close() | 嘗試關(guān)閉窗口 # |
win.focus() | 聚焦于窗口 # |
win.blur() | 取消窗口的聚焦 # |
win.isFocused() | 判斷窗口是否聚焦 # |
win.isDestroyed() | 判斷窗口是否被銷毀 # |
win.show() | 顯示并聚焦于窗口 # |
win.showInactive() | 顯示但不聚焦于窗口 # |
win.hide() | 隱藏窗口 # |
win.isVisible() | 判斷窗口是否可見 # |
win.isModal() | 判斷是否為模態(tài)窗口 # |
win.maximize() | 最大化窗口 # |
win.unmaximize() | 取消窗口最大化 # |
win.isMaximized() | 判斷窗口是否最大化 # |
win.minimize() | 最小化窗口 # |
win.restore() | 窗口最小化狀態(tài)恢復(fù)到以前的狀態(tài) # |
win.isMinimized() | 判斷窗口是否最小化 # |
win.setFullScreen(flag) | 設(shè)置窗口是否應(yīng)處于全屏模式 # |
win.isFullScreen() | 窗口當(dāng)前是否已全屏 # |
win.setSimpleFullScreen(flag) (mac) | 進入或離開簡單的全屏模式 # |
win.isSimpleFullScreen() | 窗口是否為簡單全屏模式(pre-Lion) # |
win.isNormal() | 窗口是否處于正常狀態(tài)(未最大化,未最小化,不在全屏模式下) # |
win.setAspectRatio(aspectRatio[, extraSize]) | 為內(nèi)容視圖保持的寬高比 # |
win.setBackgroundColor(backgroundColor) | 顏色,格式為 Hex,RGB,RGBA,HSL,HSLA 或 CSS 命名顏色 # |
win.previewFile(path[, displayName]) (mac) | 要用 QuickLook 預(yù)覽的文件的絕對路徑 # |
win.closeFilePreview() (mac) | 關(guān)閉當(dāng)前打開的 # |
win.setBounds(bounds[, animate]) | 重置窗口,并且移動窗口到指定的位置 # |
win.getBounds() | 表示窗口的 bounds # |
win.getBackgroundColor() | 格式獲取窗口的背景色,格式為 Hex (#RRGGBB) # |
win.setContentBounds(bounds[, animate]) | 調(diào)整窗口的工作區(qū) (如網(wǎng)頁) 的大小并將其移動到所提供的邊界。 # |
win.getContentBounds() | 窗口客戶端區(qū)域的 bounds 對象 # |
win.getNormalBounds() | 包含正常狀態(tài)下的窗口大小 # |
win.setEnabled(enable) | 禁用或者啟用窗口 # |
win.isEnabled() | 窗口是否啟用 # |
win.setSize(width, height[, animate]) | 調(diào)整窗口的 width 和 height # |
win.getSize() | 包含窗口的寬度和高度 # |
win.setContentSize(width, height[, animate]) | 將窗口的工作區(qū) (如網(wǎng)頁) 的大小調(diào)整為 width 和 height # |
win.getContentSize() | 包含窗口的寬度和高度 # |
win.setMinimumSize(width, height) | 設(shè)置窗口最小化的 width 和 height # |
win.getMinimumSize() | 包含窗口最小化的寬度和高度 # |
win.setMaximumSize(width, height) | 設(shè)置窗口最大化的 width 和 height # |
win.getMaximumSize() | 包含窗口最大化的寬度和高度 # |
win.setResizable(resizable) | 設(shè)置用戶是否可以手動調(diào)整窗口大小 # |
win.isResizable() | 用戶是否可以手動調(diào)整窗口大小 # |
win.setMovable(movable) (mac/win) | 設(shè)置用戶是否可以移動窗口 # |
win.isMovable() (mac/win) | 窗口是否可以被用戶拖動,在 Linux 上總是返回 true # |
win.setMinimizable(minimizable) (mac/win) | 設(shè)置用戶是否可以手動將窗口最小化 # |
win.isMinimizable() (mac/win) | 用戶是否可以手動最小化窗口 # |
win.setMaximizable(maximizable) (mac/win) | 設(shè)置用戶是否可以手動最大化窗口 # |
win.isMaximizable() (mac/win) | 窗口是否可以最大化 # |
win.setFullScreenable(fullscreenable) | 設(shè)置最大化/縮放窗口按鈕是切換全屏模式還是最大化窗口 # |
win.isFullScreenable() | 最大化/縮放窗口按鈕是切換全屏模式還是最大化窗口 # |
win.setClosable(closable) (mac/win) | 設(shè)置用戶是否可以手動關(guān)閉窗口。 在Linux上不起作用 # |
win.isClosable() (mac/win) | 窗口是否被用戶關(guān)閉了 # |
win.setAlwaysOnTop(flag[, level][, relativeLevel]) | 設(shè)置窗口是否應(yīng)始終顯示在其他窗口的前面 # |
win.isAlwaysOnTop() | 當(dāng)前窗口是否始終在其它窗口之前 # |
win.moveAbove(mediaSourceId) | 將窗口按z軸順序移動到源窗口前面 # |
win.moveTop() | 無論焦點如何, 將窗口移至頂端(z軸上的順序) # |
win.center() | 將窗口移動到屏幕中央 # |
win.setPosition(x, y[, animate]) | 將窗口移動到 x 和 y # |
win.getPosition() | 返回一個包含當(dāng)前窗口位置的數(shù)組 # |
win.setTitle(title) | 將原生窗口的標(biāo)題更改為 title # |
win.getTitle() | 網(wǎng)頁的標(biāo)題可以與原生窗口的標(biāo)題不同 # |
win.setSheetOffset(offsetY[, offsetX]) (mac/win) | 改變macOS上sheet組件的附著點,默認(rèn)情況下,sheet貼在窗口邊框正下方 # |
win.flashFrame(flag) | 啟動或停止閃爍窗口, 以吸引用戶的注意 # |
win.setSkipTaskbar(skip) (mac/win) | 使窗口不顯示在任務(wù)欄中 # |
win.setKiosk(flag) | 進入或離開 kiosk 模式 # |
win.isKiosk() | 判斷窗口是否處于kiosk模式 # |
win.isTabletMode() (win) | 此 API 返回 窗口是否在平板電腦模式下,并且 調(diào)整大小 事件可以用于監(jiān)聽對平板模式的更改 # |
win.getMediaSourceId() | DesktopCapturerSource 的 id 格式的窗口 id # |
win.getNativeWindowHandle() | 窗口的平臺特定句柄 # |
win.hookWindowMessage(message, callback) (win) | 鉤住窗口消息。 當(dāng)消息到達 WndProc 時調(diào)用 callback # |
win.isWindowMessageHooked(message) (win) | 返回 boolean - true 或false,具體取決于是否鉤掛了消息 # |
win.unhookWindowMessage(message) (win) | 取消窗口信息的鉤子 # |
win.unhookAllWindowMessages() (win) | 取消所有窗口信息的鉤子 # |
win.setRepresentedFilename(filename) (mac) | 設(shè)置窗口所代表的文件的路徑名,并且將這個文件的圖標(biāo)放在窗口標(biāo)題欄上 # |
win.getRepresentedFilename() (mac) | 獲取窗口當(dāng)前文件路徑 # |
win.setDocumentEdited(edited) (mac) | 明確指出窗口文檔是否可以編輯,如果設(shè)置為true則將標(biāo)題欄的圖標(biāo)變成灰色 # |
win.isDocumentEdited() (mac) | 判斷當(dāng)前窗口文檔是否可編輯 # |
win.focusOnWebView() | # |
win.blurWebView() | # |
win.capturePage([rect]) | 在 rect 內(nèi)捕獲頁面的快照 # |
win.loadURL(url[, options]) | 加載頁面 # |
win.loadFile(filePath[, options]) | 加載頁面 # |
win.reload() | 與 webContents.reload 相同 # |
win.setMenu(menu) (win/linux) | 將 menu 設(shè)置為窗口的菜單欄 # |
win.removeMenu() (win) | 刪除窗口的菜單欄 # |
win.setProgressBar(progress[, options]) | 設(shè)置進度條的進度值 # |
win.setOverlayIcon(overlay, description) (win) | 設(shè)置進度條的進度值。 有效范圍為 [0, 1.0] # |
win.setHasShadow(hasShadow) | 設(shè)置窗口是否有陰影 # |
win.hasShadow() | 判斷窗口是否有陰影 # |
win.setOpacity(opacity) (win/mac) | 設(shè)置窗口的不透明度。 在Linux上不起作用。 超出界限的數(shù)值被限制在 [0, 1] 范圍內(nèi) # |
win.getOpacity() | 介于 0.0 (完全透明) 和 1.0 (完全不透明) 之間。在Linux上,始終返回 1 # |
win.setShape(rects) (win/linux) | 對窗口形狀的設(shè)置決定了窗口內(nèi)系統(tǒng)允許繪制與用戶交互的區(qū)域 # |
win.setThumbarButtons(buttons) (win) | 將指定的一組按鈕添加到菜單欄的縮圖工具欄上 # |
win.setThumbnailClip(region) (win) | 將窗口的區(qū)域設(shè)置為在任務(wù)欄中懸停在窗口上方時顯示的縮略圖圖像 # |
win.setThumbnailToolTip(toolTip) (win) | 設(shè)置在任務(wù)欄中懸停在窗口縮略圖上時顯示的工具提示 # |
win.setAppDetails(options) (win) | 設(shè)置窗口任務(wù)欄按鈕的屬性 # |
win.showDefinitionForSelection() (mac) | 和 webContents.showDefinitionForSelection() 相同 # |
win.setIcon(icon) (win/linux) | 設(shè)置窗口圖標(biāo) # |
win.setWindowButtonVisibility(visible) (mac) | 設(shè)置是否窗口交通燈需要顯示 # |
win.setAutoHideMenuBar(hide) (win/linux) | 設(shè)置窗口菜單欄是否自動隱藏 # |
win.isMenuBarAutoHide() (win/linux) | 判斷窗口的菜單欄是否自動隱藏 # |
win.setMenuBarVisibility(visible) (win/linux) | 設(shè)置菜單欄是否可見 # |
win.isMenuBarVisible() (win/linux) | 判斷窗口的菜單欄是否可見 # |
win.setVisibleOnAllWorkspaces(visible[, options]) (mac/linux) | 設(shè)置窗口是否在所有工作空間上可見 # |
win.isVisibleOnAllWorkspaces() (mac/linux) | 判斷窗口是否在所有工作空間上可見 # |
win.setIgnoreMouseEvents(ignore[, options]) | 忽略窗口內(nèi)的所有鼠標(biāo)事件 # |
win.setContentProtection(enable) (mac/linux) | 防止窗口內(nèi)容被其他應(yīng)用捕獲 # |
win.setFocusable(focusable) (mac/linux) | 設(shè)置窗口是否可聚焦 # |
win.isFocusable() (mac/linux) | 返回當(dāng)前窗口是否可以作為焦點被選中 # |
win.setParentWindow(parent) | 設(shè)置 parent 為當(dāng)前窗口的父窗口 # |
win.getParentWindow() | 返回 BrowserWindow/null - 如果沒有父窗口則為 null # |
win.getChildWindows() | 返回 BrowserWindow[] - 首頁的子窗口 # |
win.setAutoHideCursor(autoHide) (mac) | 設(shè)置輸入時是否隱藏光標(biāo) # |
win.selectPreviousTab() (mac) | 當(dāng)啟用本地選項卡,并且窗口中有另一個標(biāo)簽時,選擇上一個選項卡 # |
win.selectNextTab() (mac) | 當(dāng)啟用本地選項卡,并且窗口中有另一個標(biāo)簽時,選擇下一個選項卡 # |
win.mergeAllWindows() (mac) | 當(dāng)啟用本地選項卡并且存在多個打開窗口時,將所有窗口合并到一個帶有多個選項卡的窗口中 # |
win.moveTabToNewWindow() (mac) | 如果啟用了本機選項卡并且當(dāng)前窗口中有多個選項卡,則將當(dāng)前選項卡移動到新窗口中 # |
win.toggleTabBar() (mac) | 如果啟用了本機選項卡并且當(dāng)前窗口中只有一個選項卡,則切換選項卡欄是否可見 # |
win.addTabbedWindow(browserWindow) (mac) | 在該窗口中添加一個窗口作為選項卡,位于窗口實例的選項卡之后 # |
win.setVibrancy(type) (mac) | 在瀏覽器窗口中添加一個動態(tài)特效。 傳遞 null 或空字符串將會移除窗口上的動態(tài)效果 # |
win.setTrafficLightPosition(position) (mac) | 在無框窗口中設(shè)置自定義控制按鈕的位置 # |
win.getTrafficLightPosition() (mac) | 在無框窗口中自定義控制按鈕的位置 # |
win.setTouchBar(touchBar) (mac) | 設(shè)置窗口的觸摸條布局 設(shè)置為 null 或undefined將清除觸摸條 # |
win.setBrowserView(browserView) (實驗) | # |
win.getBrowserView() (實驗功能) | # |
win.addBrowserView(browserView) (實驗功能) | # |
win.removeBrowserView(browserView) (實驗功能) | # |
win.setTopBrowserView(browserView) (實驗功能) | # |
win.getBrowserViews() (實驗功能) | # |
win.setTitleBarOverlay(options) (win) | 在已開啟 Window Controls Overlay 的窗口上,此方法將更新標(biāo)題欄疊加層的樣式 # |
const { BrowserWindow } = require('electron')
// 本例中 `win` 是我們的實例
const win = new BrowserWindow({ width: 800, height: 600 })
win.loadURL('https://github.com')
| :- | :- |
|---|---|
win.webContents | 此窗口擁有的 WebContents 對象 # |
win.id | 代表了窗口的唯一ID # |
win.autoHideMenuBar | 決定窗口菜單欄是否自動隱藏 # |
win.simpleFullScreen | 決定窗口是否處于簡單(pre-Lion) 全屏模式 # |
win.fullScreen | 決定窗口是否處于全屏模式 # |
win.focusable | 確定窗口是否可作為焦點被選中的屬性 # |
win.visibleOnAllWorkspaces | 決定窗口是否在所有工作區(qū)中可見 # |
win.shadow | 決定窗口是否顯示陰影 # |
win.menuBarVisible | 決定菜單欄是否可見 # |
win.kiosk | 決定窗口是否處于kiosk模式 # |
win.documentEdited | 指明窗口文檔是否已被編輯 # |
win.representedFilename | 確定窗口代表的文件的路徑名 # |
win.title | 用于確定原生窗口的標(biāo)題 # |
win.minimizable | 決定窗口是否可被用戶手動最小化 # |
win.maximizable | 決定窗口是否可被用戶手動最大化 # |
win.fullScreenable | 決定是切換全屏模式還是最大化窗口 # |
win.resizable | 決定窗口是否可被用戶手動調(diào)整大小 # |
win.closable | 決定窗口是否可被用戶手動關(guān)閉 # |
win.movable | 決定窗口是否可被用戶移動 # |
win.excludedFromShownWindowsMenu | 決定窗口是否從 Windows 菜單排除 # |
win.accessibleTitle | 定義一個僅為輔助工具提供的替代標(biāo)題 # |
感谢您访问我们的网站,您可能还对以下资源感兴趣:
国产成人精品999视频&日本一区二区亚洲人妻精品&久久久精品国产99久久精&99热这里只有成人精品国产&精品国产剧情av一区二区&成人亚洲精品久久久久app&国产精品美女高潮抽搐A片