Electron中使用flash 插件及flash与JS通信

cef3 加载flash ppapi插件 CEF(Chromium Embedded Framework)是谷歌浏览器框架,可以快速开发基于chromium的浏览器 cef开发后的浏览器需要加载flash插件才能支持flash播放,之前版本可以加载NPAPI,新版chromium放弃了NPAPI的原生支持,在此我们介绍PPAPI加载flash的方式。 网上关于PPAPI加载方式大多是下面的流程 启动的时候加个命令行 阅读详情

题记

Electron可以轻松的使用 Html5 / CSS3 / ES6 / Node.js 等等时兴技术开发。近期用Electron做一个需要通过手写实现毛笔签名,手头有一个AS3的版本。网上提供的JS算法基本都只能圆珠笔的线条效果,无法实现类似毛笔的笔锋效果。
研究预期:swf文件实现签名功能,完成后交给JS处理。

Electron 中使用flash插件

ppapi-flash插件

PPAPI是Google开发的浏览器插件接口,以沙箱模式运行插件。

在 Electron 中可以使用ppapi-flash插件加载swf程序

获取ppapi-flash插件

flash 插件安装好后,Windows系统可以在以下路径找到相应的dll文件。
C:\Windows\System32\Macromed\Flash\pepflashplayer64_23_0_0_207.dl
C:\Windows\SysWOW64\Macromed\Flash\pepflashplayer32_23_0_0_207.dll
上面依次对应 64位 及 32位的插件,必须与Electron 的对应
其他系统可以通过chrome打开 chrome://plugins/ 查看插件位置
建议将插件复制到项目的目录或子目录下

使用ppapi-flash插件

在 index.js 入口文件中引入插件

//index.js 入口文件
const electron = require('electron');
const {app,BrowserWindow} = electron;
//此处仅兼容了Windows 的 32位 与 64位
const pepflashplayer = (process.arch == 'x64')? `${__dirname}/flash/pepflashplayer64_23_0_0_207.dll`:`${__dirname}/flash/pepflashplayer32_23_0_0_207.dll`;
//设定插件
app.commandLine.appendSwitch('ppapi-flash-path', pepflashplayer);
//设定插件版本(不知道是否真有用,不匹配貌似也能运行)
app.commandLine.appendSwitch('ppapi-flash-version', '23.0.0.207');
let win;
function createWindow() {
   
   
    //...
}

ppapi-flash-path 设定的时候 千万不要 加 file://
使用 <webview> 标签启用插件 并在 <webview>

Electron 使用Pepper Flash插件 Electron 中支持 Pepper Flash 插件的使用。想要在 Electron 里面使用 Pepper Flash 插件,我们需要手动设置 Pepper Flash 的路径,并且在应用程序中启用 Pepper Flash。 保留一份 Flash 插件的副本 在 macOS 和 Linux 上,我们可以在 Chrome 浏览器的 chrome://plugins 页面上找到 Pepper Flash 的插件信息。插件的路径和版本会对 Election 对其的支持有帮助。你也可以把插件复制到另一个路径 阅读详情

相关推荐

2024年网页嵌入Flash的三种主流方案:Ruffle模拟器、独立播放器与重制技术详解

在Web技术演进中,浏览器插件技术经历了从NPAPI到现代Web标准的转变。Flash作为曾经的多媒体与交互内容核心技术,其底层原理依赖于ActionScript虚拟机与矢量图形渲染。尽管原生插件支持已终止,但大量遗留的.swf文件仍承载着重要的数据与功能价值。从技术实现角度看,当前主要有模拟执行、独立运行时封装与格式转换三条路径,分别对应不同的工程实践场景。Ruffle项目利用WebAssembly模拟Flash Player环境,为简单动画内容提供了便捷的网页内嵌入方案;独立播放器封装则通过自定义协议或

weixin_30487201的博客 290

从Electron到跨平台:comNG如何用Node.js重构串口调试工具生态

本文探讨了comNG如何利用Node.js和Electron技术栈重构串口调试工具生态,解决传统C++/QT方案在跨平台适配、开发效率和扩展性上的痛点。通过硬件交互层、数据处理层和呈现层的分层架构,comNG显著提升了嵌入式调试效率,特别适合ESP32等设备的开发需求。

weixin_29216957的博客 324

C++与Flash交互实战:MFC桌面应用集成Flash图表组件

在桌面应用开发中,组件集成与进程间通信是常见的技术需求,尤其是在需要复用既有成熟模块或实现复杂可视化时。其核心原理通常基于操作系统提供的组件对象模型(COM)或类似的进程间通信(IPC)机制,通过定义清晰的接口契约,实现宿主程序与嵌入式运行时之间的双向数据交换与函数调用。这项技术的价值在于能够将不同技术栈开发的模块高效整合,保护历史资产,并满足特定场景下的性能与兼容性要求,常见于工业控制、数据可视化等领域的遗留系统现代化改造。本文聚焦于一个典型应用场景:在基于MFC的C++桌面程序中,通过ActiveX/C

weixin_33834628的博客 354

Electron桌面开发核心原理:主进程与渲染进程协同机制解析

Electron作为主流跨平台桌面开发框架,其本质是基于Chromium渲染引擎与Node.js运行时的双进程架构。理解主进程(负责系统级能力调度)与渲染进程(专注UI交互)的职责分离,是掌握IPC通信、性能优化与安全加固的前提。该架构通过进程隔离实现UI线程不阻塞,支撑高响应式本地应用开发,广泛应用于SaaS客户端、硬件交互工具及离线优先型生产力软件。本文深入剖析Electron的进程模型、通信范式与工程落地要点,帮助Web开发者高效构建兼具原生体验与迭代速度的桌面应用。

weixin_33851177的博客 392

Electron应用CSP安全配置实战:从XSS防御到生产环境加固

内容安全策略是Web应用防御跨站脚本攻击的核心安全机制,它通过定义资源加载白名单,限制脚本、样式等内容的来源与执行方式,从而有效阻断恶意代码注入。在桌面应用开发领域,Electron框架默认启用了严格的CSP策略,这虽然提升了应用安全性,却常导致开发者在集成第三方库或使用动态脚本时遇到资源加载失败问题。理解CSP的工作原理与配置方法,对于构建既安全又稳定的跨平台桌面应用至关重要。本文将以Electron应用为具体场景,深入解析CSP与XSS的攻防原理,并提供从开发调试到生产部署的渐进式安全配置方案,涵盖脚本

dezhen7015的博客 442

基于Vue3+Electron的桌面宠物应用开发实战

桌面应用开发是前端工程师拓展技术边界的重要方向,其核心在于利用Web技术栈实现跨平台的本地化应用。通过Electron框架,开发者可以调用系统原生API,创建无边框窗口、集成系统托盘,并实现复杂的本地交互逻辑。结合Vue 3的响应式系统与组合式API,能够高效管理应用状态与驱动UI更新,这为构建高性能、可维护的桌面应用提供了坚实的技术基础。本文聚焦于一个具体的工程实践案例——桌面宠物应用,详细拆解了如何利用Vue 3和TypeScript构建宠物状态模型,并集成Electron实现跨平台窗口管理与系统托盘交

weixin_33755649的博客 554

electron-plugin-manager:基于适用于Electron应用程序的NPM的插件管理器

电子插件管理器 基于适用于Electron应用程序的NPM的插件管理器 注意:不适用于本机节点模块 安装 $ npm i --save electron-plugin-manager 用法 假设我们的应用程序名称为Dotsync 假设我们将电子应用程序的配置数据存储在%APPDATA%中: // In main process const { app , ipcMain } = require ( 'electron' ) ; const epm = require ( 'electron-plugin-manager' ) ; const dir = path . join ( app . getPath ( 'appData' ) , 'Dotsync' ) ; epm . manager ( ipcMain ) ; // In renderer process const {

electron-plugin:电子插件扩展包

通过使用NPM(或类似注册表)或GitHub作为扩展存储库的插件架构创建可扩展的电子应用程序。 安装 使用npm install electron-plugin --save将其添加到您的电子项目中npm install electron-plugin --save或yarn add electron-plugin 用法 要求electron-plugin导出需要一个javascript对象和一个电子窗口的函数,如以下示例所示: const pluginManager = require ( `electron-plugin` ) let config = { installPath : ` ${ __dirname } /test_folder` , plugins : { "electron-plugin-example" :

不用写代码!3个免费在线工具教你完成Lasso回归分析(含生存资料处理)

本文介绍3款免费在线工具,帮助用户无需编程即可完成临床数据的Lasso回归分析,特别适合处理生存资料。通过详细的操作指南和实战技巧,读者可以轻松掌握变量筛选、模型优化及结果解读,提升临床研究的效率和准确性。

weixin_33738555的博客 349

S32K344 Bootloader实战:一个按键实现从Boot到App的无缝跳转(附完整代码)

本文详细介绍了基于NXP S32K344微控制器的Bootloader开发实战,重点解析如何通过一个硬件按键实现从Boot到App的可靠跳转。内容涵盖内存分区规划、中断向量表重映射、外设初始状态管理等核心要素,并提供了完整的代码示例和调试技巧,适用于汽车电子和工业控制等高可靠性应用场景。

weixin_29192365的博客 307

Qt QWebEngine实战:手把手教你将Vue3/React前端项目嵌入C++桌面程序

本文详细介绍了如何利用Qt的QWebEngine模块将Vue3/React前端项目无缝嵌入C++桌面程序,实现现代前端框架与原生C++的深度整合。通过环境准备、项目架构设计、前端适配、Qt端集成、双向通信建立及性能优化等步骤,开发者可以高效构建兼具Web灵活性和本地系统能力的混合应用。

weixin_28736355的博客 390

避开这些坑!QMT多因子策略实盘中的5个常见错误及解决方案

本文深入剖析了在QMT平台上实施多因子策略时常见的5个错误,包括因子过拟合、数据延迟处理不当、因子失效、交易成本低估和风险控制缺失,并提供了实用的解决方案。通过优化因子筛选、数据对齐和动态管理,帮助量化交易者提升策略稳健性和实盘表现。

k5l6m的博客 238

S32DS新建工程、编译调试下载、导入工程详细介绍

新建了一个工程之后,下面简单介绍下基本的UI界面。其中最左下角那个是界面,这个界面很重要,是图形化配置界面,然后可以根据这些配置自动生成代码。其中,左边那些配置文件,都是系统帮我们创建好了的,我们其实可以直接用就行。有PE工具的调试,以及Jlink工具的调试。我目前使用到PE工具调试可以查看寄存器值,而Jlink调试查看不了寄存器值。连接了开发板之后,点击Debug就可以吧程序下载到芯片上了,而且可以进入到调试界面。

luobeihai的博客 2万+

深入理解鸿蒙输入子系统驱动:HDI接口、HAL层与内核驱动的协同机制

/ 扫描输入设备// 打开指定输入设备// 关闭指定输入设备// 获取指定设备信息// 获取所有设备列表鸿蒙输入子系统驱动采用分层架构设计,通过HDI接口层实现硬件抽象,HAL层提供统一的事件处理机制,用户空间驱动层负责设备管理和事件分发。整个系统支持多种输入设备类型,包括触摸屏、按键、鼠标、键盘等,并提供了完整的HID设备支持。分层架构:清晰的层次划分,便于维护和扩展事件驱动:基于epoll的高效事件处理机制设备管理:完善的设备生命周期管理HID支持。

m0_67505153的博客 212

OceanBase数据库LSM-Tree存储引擎深度解析:合并写入与压缩优化策略

OceanBase数据库采用创新的LSM-Tree架构设计,通过"基线-增量"分离存储实现高性能。内存中的MemTable处理写入,磁盘上的SSTable存储有序数据,利用多级缓存加速读取。写入时先写日志再更新内存,合并操作将增量数据整合为基线数据以优化查询性能。相比传统B+树引擎,OceanBase在写入吞吐、压缩效率和存储成本方面优势显著,特别适合写入密集型场景。合并操作作为核心机制,通过多种触发方式和执行策略平衡性能与资源消耗。

本博客聚焦 YOLOv11 全流程落地,涵盖架构优化、数据集处理、训练技巧与多场景部署,兼及国产数据库、Java 开发与 AI 模型应用,内容兼顾理论与工程实践,为开发者提供系统干货,助力高效提升技术能力。 1341

uniapp(全端兼容)-最新详细实现接入腾讯云IM即时通讯教程,uniapp在安卓苹果app端/小程序/h5移动端等集成使用腾讯云im插件,提供消息列表与聊天对话示例,支持发图片/私聊/实时监听消息

uni-app,腾讯云IM,安卓app,苹果app,微信小程序,移动端,H5网页,手机网站,微信小程序、支付宝小程序,手机app端,nvue,im即时通讯,腾讯云IM详细教程,如何接入腾讯IM即时通讯,使用腾讯im有没有插件,怎么使用腾讯云IM插件,tim-wx-sdk,聊天sdk,即时通讯im uniapp私聊/群聊/聊天室,实现IM即时通讯仿微信聊天功能,对接腾讯云IM+音视频,调用腾讯即时通信IM的示例,卡顿很卡不流畅,音视频,全局监听,仿微信IM,uni-huanxin-im,sdk,实现多端实时通

✅ 精选推荐文章 1万+

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

上一篇: windows下将任意程序(PHP)添加为服务
下一篇: php7.1微信公众平台消息安全模式的加密及解密
NECionpy
博客等级 码龄18年 2粉丝 8原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值