Electron中文手册
  • 文档概述
  • 开发指南目录
  • 构建说明(Linux)
  • 构建说明(macOS)
  • 构建说明(Windows)
  • 构建系统概述
  • 编码规范
  • 在 macOS 中调试
  • 在 Windows 中调试
  • 在C ++代码中使用clang-format
  • 在调试器中设置符号服务器
  • 源代码目录结构
  • Chrome升级清单
  • Chromium 开发指南
  • V8 开发指南
  • 教程目录
    • 关于 Electron
    • Electron 版本说明
    • API弃用说明
    • 快速入门
    • 支持的平台
    • 桌面环境集成
    • 系统通知
    • 离屏渲染
    • 在线/离线事件检测
    • 多线程
    • REPL
    • 键盘快捷键
    • DevTools扩展
    • 使用原生模块
    • 使用 Pepper Flash 插件
    • 使用 Selenium 和 WebDriver
    • 使用 Widevine CDM 插件
    • 应用分发
    • 应用打包
    • 主进程调试
    • 使用 node-inspector 进行主进程调试
    • 使用 VSCode 进行主进程调试
    • Mac App Store应用提交指南
    • Windows App Store应用提交指南
    • 安全,本地功能和你的责任
    • Headless CI Systems 测试
  • API接口目录
    • API接口之公用接口
      • 应用语言
      • 开发概要
      • 专业术语
      • 常见问题
      • 环境变量
      • 快捷键字符串
      • 命令行
      • 客户端请求
      • 剪贴板
      • <File> H5 File文件操作
      • 无框窗口
      • <window.open> window.open打开新窗口或打开时传递消息
      • 沙盒选项
    • API接口之主进程接口
      • 整体控制
      • 全局快捷键
      • 图标创建与应用
      • 屏幕
      • 窗口
      • 菜单
      • 菜单项
      • 系统托盘
      • 网页内容
      • 从主进程到渲染进程的异步通信
      • 对话框
      • 创建和控制视图
      • 会话
      • 会话,缓存和代理等控制
      • 页面请求
      • HTTP/HTTPS请求处理
      • 协议的注册和处理
      • 使用系统默认应用程序管理文件或URL
      • 下载项管理
      • 进程控制
      • Chromium原生网络库
      • 获取系统首选项
      • 电源状态
      • 节能管理
      • 调试工具
      • 奔溃报告
      • 性能数据收集
      • 自动更新
      • TouchBar触摸条
      • TouchBar触摸条按钮
      • TouchBar触摸条拾色器
      • TouchBar触摸条分组
      • TouchBar触摸条scrubber
      • TouchBar触摸条分段控件
      • TouchBar触摸条label标签
      • TouchBar触摸条弹出框
      • TouchBar触摸条滑块
      • TouchBar触摸条间隔符
    • API接口之渲染进程接口
      • 页面渲染
      • <webview> webview标签
      • 渲染进程与主进程通信
      • 从渲染进程到主进程的异步通信
      • 子窗口
      • 捕获桌面资源
  • 结构列表
    • 蓝牙设备对象
    • 证书对象
    • 证书主体对象
    • Cookie对象
    • 崩溃报告对象
    • 桌面捕获源对象
    • 显示器对象
    • 打印机信息对象
    • 文件过滤器对象
    • 最近使用的项目
    • 常用列表项
    • CPU使用率对象即程序占用的CPU资源
    • IO值对象
    • 内存信息对象
    • 进程内存信息对象
    • 内存使用详细信息
    • Mime类型缓冲区
    • 矩形对象
    • 删除客户端证书对象
    • 删除密码对象
    • Scrubber项对象
    • 分段控制对象
    • 快捷方式对象
    • 任务对象
    • 缩略图工具栏按钮对象
    • 上传blob对象
    • 上传数据对象
    • 上传文件系统对象
    • 上传文件对象
    • 上传原始数据对象
Powered by GitBook
On this page
  • 方法
  • webFrame.setZoomFactor(factor)
  • webFrame.getZoomFactor()
  • webFrame.setZoomLevel(level)
  • webFrame.getZoomLevel()
  • webFrame.setVisualZoomLevelLimits(minimumLevel, maximumLevel)
  • webFrame.setLayoutZoomLevelLimits(minimumLevel, maximumLevel)
  • webFrame.setSpellCheckProvider(language, autoCorrectWord, provider)
  • webFrame.registerURLSchemeAsSecure(scheme)
  • webFrame.registerURLSchemeAsBypassingCSP(scheme)
  • webFrame.registerURLSchemeAsPrivileged(scheme[, options])
  • webFrame.insertText(text)
  • webFrame.executeJavaScript(code[, userGesture, callback])
  • webFrame.getResourceUsage()
  • webFrame.clearCache()

Was this helpful?

  1. API接口目录
  2. API接口之渲染进程接口

页面渲染

PreviousAPI接口之渲染进程接口Next<webview> webview标签

Last updated 4 years ago

Was this helpful?

web-frame 模块可自定义渲染当前网页

进程:

例如放大当前页至 200%.

const {webFrame} = require('electron')
webFrame.setZoomFactor(2)

方法

webFrame.setZoomFactor(factor)

用途:设置页面的缩放系数

  • factor Number - 缩放系数

注意:缩放系数是百分制的,如3.0=300%。

webFrame.getZoomFactor()

用途:获得当前缩放系数( Number)

webFrame.setZoomLevel(level)

用途:将缩放级别更改为指定级别

  • level Number - 缩放级别

原始大小为0,每个增量表示放大或缩小20%,默认限制为原始大小的300%至50%。

webFrame.getZoomLevel()

用途:获得当前缩放级别( Number)

webFrame.setVisualZoomLevelLimits(minimumLevel, maximumLevel)

用途:设置缩放级别的最大值和最小值

  • minimumLevel Number

  • maximumLevel Number

webFrame.setLayoutZoomLevelLimits(minimumLevel, maximumLevel)

用途:设置基于布局(即非视觉)的缩放级别的最大值和最小值

  • minimumLevel Number

  • maximumLevel Number

webFrame.setSpellCheckProvider(language, autoCorrectWord, provider)

用途:为输入框或文本域设置拼写检查的提供程序

  • language String

  • autoCorrectWord Boolean

  • provider Object

    • spellCheck Function - 返回 Boolean

      • text String

    provider必须是具有 spellCheck方法的对象,该方法返回扫过的单词是否拼写正确。

把[node-spellchecker][spellchecker]作为提供程序的示例:

const {webFrame} = require('electron')
webFrame.setSpellCheckProvider('en-US', true, {
  spellCheck (text) {
    return !(require('spellchecker').isMisspelled(text))
  }
})

webFrame.registerURLSchemeAsSecure(scheme)

用途:将 scheme 注册为安全协议

  • scheme String

例如, https和 data是安全的协议,它不能轻易的被黑客破坏。

webFrame.registerURLSchemeAsBypassingCSP(scheme)

用途:忽略当前页面的内容安全策略,资源全部从此 scheme 加载

  • scheme String

webFrame.registerURLSchemeAsPrivileged(scheme[, options])

用途:忽略内容安全策略,将 scheme 注册为安全协议且允许注册ServiceWorker和支持fetch API

  • scheme String

  • options Object (可选)

    • secure Boolean - (可选) 默认为 true

    • bypassCSP Boolean - (可选) 默认为 true

    • allowServiceWorkers Boolean - (可选) 默认为 true

    • supportFetchAPI Boolean - (可选) 默认为 true

    • corsEnabled Boolean - (可选) 默认为 true

以上选项值如指定 false则表示从注册中忽视该选项。

在不绕过内容安全策略的情况下注册特权方案的示例:

const {webFrame} = require('electron')
webFrame.registerURLSchemeAsPrivileged('foo', { bypassCSP: false })

webFrame.insertText(text)

用途:插入 text 到焦点元素

  • text String

webFrame.executeJavaScript(code[, userGesture, callback])

用途:在页面中评估(eval) code( Promise)

  • code String

  • userGesture Boolean (可选) - 默认为 false,设置为 true时可使某些HTML API(如 requestFullScreen)手势去除由用户手势进行调用的限制 。

  • callback Function (可选) - 在脚本执行后调用

    • result Any

返回 Promise - 如果被正确执行则返回可用的承诺,否则将被拒绝。

在浏览器窗口中,一些HTML API(如requestFullScreen)只能由用户的手势调用。 需要将 userGesture设置为 true进行消除这个限制。

webFrame.getResourceUsage()

用途:获取描述Blink内存缓存信息的对象( Object)

const {webFrame} = require('electron')
console.log(webFrame.getResourceUsage())

这将生成:

{
  images: {
    count: 22,
    size: 2549,
    liveSize: 2542,
  },
  cssStyleSheets: { /* 类同上行的 `images` */ },
  xslStyleSheets: { /* 类同上行的 `images` */ },
  fonts: { /* 类同上行的 `images` */ },
  other: { /* 类同上行的 `images` */ }
}

webFrame.clearCache()

用途:释放无用内存(如如来自上一个导航的图像)

如果盲调用此方法,可能会使Electron运行比较卡,因为它将不得不重新填充这些空的缓存!

建议在某些比较消耗内存的应用事件时才进行调用,比如加载了个很冗长复杂且需长时间停留使用的页面.

images

cssStyleSheets

xslStyleSheets

fonts

other

[spellchecker]:

MemoryUsageDetails
MemoryUsageDetails
MemoryUsageDetails
MemoryUsageDetails
MemoryUsageDetails
https://github.com/atom/node-spellchecker
渲染进程