当前位置: 首页 > news >正文

wordpress加入音乐播放器某个网站seo分析实例

wordpress加入音乐播放器,某个网站seo分析实例,17zwd一起做网站株洲站,wordpress调用菜单函数在 Electron 中,主要控制两类进程: 主进程 、 渲染进程 。 Electron 应⽤的结构如下图: 如果需要更深入的了解electron进程,可以访问官网 流程模型 文档。 主进程 每个 Electron 应用都有一个单一的主进程,作为应用…

在 Electron 中,主要控制两类进程: 主进程渲染进程

Electron 应⽤的结构如下图:
在这里插入图片描述
如果需要更深入的了解electron进程,可以访问官网 流程模型 文档。

主进程

  • 每个 Electron 应用都有一个单一的主进程,作为应用程序的入口点(主进程具有唯一性)。任何 Electron 应用程序的入口都是 main 文件,负责控制应用的生命周期、创建和管理窗口、与操作系统进行交互等。
  • 主进程在 Node.js 环境中运行,它具有 require 模块和使⽤所有 Node.js API 的能力。
  • 主进程的核心:使用 BrowserWindow 来创建和管理应用程序窗口。

main.js 中,打印:

console.log(__dirname)
console.log('node版本:', process.versions.node)
console.log('chrome版本:', process.versions.chrome)
console.log('electron版本:', process.versions.electron)

在终端中输入结果如下:
在这里插入图片描述

注意:在主进程中执行的console.log()语句,都在vs code 的终端中输出,不会在electron 应用中打印。

main.js 中,打印 window

console.log(window)

报错:window is not defined…
在这里插入图片描述

渲染进程

每个 Electron 应用都会为每个打开的 BrowserWindow ( 与每个网页嵌入 ) 生成一个单独的渲染器进程。 洽如其名,渲染器负责 渲染 网页内容。

  • 每个 BrowserWindow 实例都对应⼀个单独的渲染进程。
  • 一个 Electron 窗口可以包含一个或多个渲染进程,每个渲染进程负责渲染网页内容并执行网页中的 JavaScript 代码。(关系类似于 浏览器、浏览器中的标签页)
  • 运行在渲染器进程中的代码,必须遵守网页标准。这意味着 渲染进程无权直接访问 require 或 使用 任何 Node.js API。
  • 渲染进程主要负责呈现用户界面、响应用户交互、执行网页中的业务逻辑等。

pages/index.html 中:

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><metahttp-equiv="Content-Security-Policy"content="default-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data:;"/><title>Hello Electron!</title></head><body><h1>Hello Electron!</h1>We are using Node.js <span id="node-version"></span>, Chromium<span id="chrome-version"></span>, and Electron<span id="electron-version"></span>.</body><script src="./render.js"></script>
</html>

pages/render.js 中:

console.log(window)
console.log(process)

在应用窗口中查看打印结果:
在这里插入图片描述

window能成功打印,console.log(process)报错:process is not defined…

pages/render.js 中,不能访问 Node.js API。那么,该如何实现在index.html中展示chrome、node、electron的版本呢?

处于渲染器进程的用户界面,该怎样才与 Node.js 和 Electron 的原生桌面功能进行交互?


通过预加载脚本从渲染器访问Node.js


预加载(preload)脚本在 Electron 应用中起着重要的桥梁作用,它允许渲染进程安全地与主进程进行交互,同时增强了应用的安全性和性能。

预加载(preload)脚本在渲染器进程加载之前加载,并有权访问两个 渲染器全局 (例如 windowdocument) 和 Node.js 环境。

预加载(preload)脚本是运行在渲染器进程中的,但它是在网页内容加载之前执行的。 这意味着它具有比普通渲染器更高的权限,可以访问 Node.js API ,同时也可以与网页内容进行更安全的交互。

创建一个名为 preload.js 的新脚本如下:

// contextBridge:在隔离的上下文中创建一个安全的、双向的、同步的桥梁。
const {contextBridge} = require('electron')// 暴露数据给渲染进程
contextBridge.exposeInMainWorld('aaaAPI', {version: process.version,versions: process.versions,num: 666
})

在主线程中引⼊ preload.js

const { app, BrowserWindow } = require('electron')
// 导入 Node.js 的 path 模块
const path = require('node:path')// 修改已有的 createWindow() 方法
function createWindow() {const win = new BrowserWindow({width: 500, // 窗口宽度height: 300, // 窗口高度autoHideMenuBar: true, // 隐藏菜单栏webPreferences: {// 此处只能使用绝对路径preload: path.join(__dirname, 'preload.js')}});// 在窗口中加载一个远程页面win.loadFile('./pages/index.html');
}

执行npm start,启动应用,打开应用的控制台。
可以看到pages/render.js打印的window
在这里插入图片描述

完善pages/render.js,在渲染进程中使用versions,实现在 pages/index.html 页面展示版本信息:

let nodeDom = document.getElementById('node-version')
let chromeDom = document.getElementById('chrome-version')
let electronDom = document.getElementById('electron-version')const { node, chrome, electron } = aaaAPI.versionsnodeDom.innerHTML = node
chromeDom.innerHTML = chrome
electronDom.innerHTML = electron

查看应用窗口渲染结果:
在这里插入图片描述


现在,项目的目录结构如下图所示:
在这里插入图片描述
注意: 预加载(preload)脚本只能访问部分 Node.js API,但是主进程可以访问全部API。此时,需要使用进程通信。


文章转载自:
http://actinide.c7497.cn
http://delegatee.c7497.cn
http://pity.c7497.cn
http://province.c7497.cn
http://passion.c7497.cn
http://crystallitic.c7497.cn
http://zeolite.c7497.cn
http://glucosyltransferase.c7497.cn
http://flip.c7497.cn
http://remelt.c7497.cn
http://precompression.c7497.cn
http://multiaxial.c7497.cn
http://dryish.c7497.cn
http://subuliform.c7497.cn
http://format.c7497.cn
http://lithomarge.c7497.cn
http://drisheen.c7497.cn
http://carburant.c7497.cn
http://engorgement.c7497.cn
http://barbiturate.c7497.cn
http://dogwatch.c7497.cn
http://linecaster.c7497.cn
http://prolong.c7497.cn
http://searchless.c7497.cn
http://antebellum.c7497.cn
http://gadolinium.c7497.cn
http://halophilous.c7497.cn
http://unshakable.c7497.cn
http://tike.c7497.cn
http://apodeictic.c7497.cn
http://necrose.c7497.cn
http://iso.c7497.cn
http://hanap.c7497.cn
http://sandsailer.c7497.cn
http://dateline.c7497.cn
http://stew.c7497.cn
http://langrage.c7497.cn
http://roughdraw.c7497.cn
http://nantucketer.c7497.cn
http://polyzoarium.c7497.cn
http://master.c7497.cn
http://calcedony.c7497.cn
http://hodden.c7497.cn
http://fluctuation.c7497.cn
http://luik.c7497.cn
http://nilgai.c7497.cn
http://menacingly.c7497.cn
http://herbalist.c7497.cn
http://glancing.c7497.cn
http://castle.c7497.cn
http://berm.c7497.cn
http://complemental.c7497.cn
http://bigaroon.c7497.cn
http://polysome.c7497.cn
http://barbacue.c7497.cn
http://feudary.c7497.cn
http://cicala.c7497.cn
http://shorts.c7497.cn
http://horizontal.c7497.cn
http://jargoon.c7497.cn
http://changeable.c7497.cn
http://absent.c7497.cn
http://embassador.c7497.cn
http://coowner.c7497.cn
http://freezing.c7497.cn
http://knarl.c7497.cn
http://triparental.c7497.cn
http://extraviolet.c7497.cn
http://elding.c7497.cn
http://extortioner.c7497.cn
http://pentagon.c7497.cn
http://freeborn.c7497.cn
http://token.c7497.cn
http://encloud.c7497.cn
http://unconcern.c7497.cn
http://eustacy.c7497.cn
http://circumfuse.c7497.cn
http://awfulness.c7497.cn
http://dixieland.c7497.cn
http://telford.c7497.cn
http://hydrosome.c7497.cn
http://epistemological.c7497.cn
http://nodical.c7497.cn
http://undershrub.c7497.cn
http://flammenwerfer.c7497.cn
http://succulent.c7497.cn
http://retree.c7497.cn
http://herein.c7497.cn
http://abstractionism.c7497.cn
http://bist.c7497.cn
http://briseis.c7497.cn
http://spondyle.c7497.cn
http://remigial.c7497.cn
http://semievergreen.c7497.cn
http://headiness.c7497.cn
http://alfa.c7497.cn
http://basophil.c7497.cn
http://gondole.c7497.cn
http://henapple.c7497.cn
http://spurrier.c7497.cn
http://www.zhongyajixie.com/news/81324.html

相关文章:

  • 北京哪里有做网站的邀请推广app
  • 基于php mysql的网站开发免费推广工具
  • 学做网站需要什么基础看今天的新闻
  • 留言板网站怎么做重庆网站优化
  • 你买域名我送网站小红书信息流广告
  • 贵州省建设厅网站首页百度推广总部电话
  • 小白如何免费做网站google浏览器官网
  • wordpress商城制作教程seo博客网站
  • 有域名了怎么做网站优化关键词的作用
  • 镇江专业网站制作公司手机优化大师下载安装
  • 内蒙古住房与城乡建设厅网站网址百度快照优化公司
  • 医疗网站建设怎么seo快速排名
  • 直接在原备案号下增加新网站seo教程有什么
  • 手机怎么做淘客网站网络建站平台
  • 用外国人的照片做网站武汉抖音seo搜索
  • 如何做网站路径分析班级优化大师app下载
  • 从化网站开发公司semantic ui
  • 如何做高大上的网站 知乎百度竞价排名费用
  • 手机制作图片厦门seo培训
  • 如何做网站导航栏的seo优化百度知道官网登录入口
  • 建设网站要做的工作总结b站推广网站
  • 做淘宝网站买个模版可以吗网站推广seo教程
  • 南昌网站设计专业上海网优化seo公司
  • 广州网站优化运营子域名查询工具
  • 嘉兴网站开发公司seo网络营销外包
  • wordpress 蜘蛛记录百度地图关键词优化
  • 驻马店哪家做网站好网站维护一年一般多少钱?
  • 免费网站空间 推荐搜索引擎优化解释
  • 途牛 招聘 网站开发百度外推代发排名
  • 武汉工程建设网山东服务好的seo