【Electron】第4章—renderer.js 与页面交互逻辑

一、renderer.js 的作用

接着上一章项目中:

txt 复制代码
src/renderer.js

属于:

txt 复制代码
渲染进程脚本

负责:

  • 页面交互
  • 按钮事件
  • 修改页面内容
  • DOM 操作
  • 前端逻辑

二、Electron 页面运行流程

当前页面运行流程:

txt 复制代码
index.html
    ↓
加载 renderer.js
    ↓
JavaScript 操作页面

三、先理解 DOM

网页中的:

html 复制代码
<button id="btn">

会变成:

txt 复制代码
页面对象

JavaScript 可以:

  • 获取它
  • 修改它
  • 监听点击
  • 改变样式

四、获取页面元素


HTML

修改:

txt 复制代码
index.html

在按钮下面增加:

html 复制代码
<div id="text">
    等待点击
</div>

页面变成:

html 复制代码
<body>

    <div class="container">

        <h1>Electron 学习</h1>

        <button id="btn">
            点击按钮
        </button>

        <div id="text">
            等待点击
        </div>

    </div>

    <script type="module" src="/src/renderer.js"></script>

</body>

五、开始写 renderer.js

打开:

txt 复制代码
src/renderer.js

清空默认内容。

替换为:

js 复制代码
const btn = document.getElementById('btn')

const text = document.getElementById('text')

btn.addEventListener('click', () => {

    text.innerText = '按钮被点击了'

})

六、效果说明

点击按钮后:

txt 复制代码
等待点击

会变成:

txt 复制代码
按钮被点击了

七、代码详细解析


1. 获取按钮

js 复制代码
const btn = document.getElementById('btn')

作用:

txt 复制代码
获取页面中的按钮对象

对应:

html 复制代码
<button id="btn">

2. 获取文本区域

js 复制代码
const text = document.getElementById('text')

对应:

html 复制代码
<div id="text">

3. addEventListener

js 复制代码
btn.addEventListener()

作用:

txt 复制代码
监听事件

4. click

js 复制代码
'click'

表示:

txt 复制代码
鼠标点击事件

5. 箭头函数

js 复制代码
() => {

}

表示:

txt 复制代码
点击后执行的代码

6. innerText

js 复制代码
text.innerText

作用:

txt 复制代码
修改文本内容

八、继续升级:计数器

现在实现:

txt 复制代码
点击次数统计

修改 renderer.js

替换为:

js 复制代码
const btn = document.getElementById('btn')

const text = document.getElementById('text')

let count = 0

btn.addEventListener('click', () => {

    count++

    text.innerText = `按钮点击次数:${count}`

})

九、学习新知识:变量


let

js 复制代码
let count = 0

表示:

txt 复制代码
定义变量

十、学习新知识:模板字符串

js 复制代码
`按钮点击次数:${count}`

作用:

txt 复制代码
把变量拼接到字符串中

十一、继续升级:修改按钮颜色


renderer.js

继续增加:

js 复制代码
btn.style.background = '#10b981'

完整代码:

js 复制代码
const btn = document.getElementById('btn')

const text = document.getElementById('text')

let count = 0

btn.addEventListener('click', () => {

    count++

    text.innerText = `按钮点击次数:${count}`

    btn.style.background = '#10b981'

})

十二、效果

点击按钮后:

  • 文本变化
  • 按钮变绿色

十三、DOM 操作思想

JavaScript 页面开发核心:

txt 复制代码
获取元素
    ↓
监听事件
    ↓
修改页面

这就是:

txt 复制代码
前端交互逻辑

十四、常见 DOM 操作


修改文本

js 复制代码
element.innerText = '内容'

修改 HTML

js 复制代码
element.innerHTML = '<b>内容</b>'

修改颜色

js 复制代码
element.style.color = 'red'

修改背景

js 复制代码
element.style.background = '#2563eb'

隐藏元素

js 复制代码
element.style.display = 'none'

显示元素

js 复制代码
element.style.display = 'block'

十五、本章重点

本章核心内容:


1. renderer.js 负责页面逻辑


2. document.getElementById()

用于获取页面元素。


3. addEventListener()

用于监听事件。


4. innerText

用于修改页面文本。


5. JavaScript 可以动态修改页面

包括:

  • 文本
  • 颜色
  • 样式
  • 显示状态

相关推荐
柳杉3 分钟前
别再手抠特效帧了:一个能"看图改图"的像素特效库 + Claude Code Skill
前端·javascript
前端小D17 分钟前
React Native项目开发(iOS侧为例)
javascript·react native·react.js
幸运小猿11 小时前
模拟慢上传-处理超时重试image 丢失线上问题
前端·javascript·html
速易达网络14 小时前
ECharts 图表制作完全指南:从零到可视化实战
前端·javascript·echarts
不可能片场15 小时前
Electron 发布 别拿 load 事件当页面就绪
前端·electron
paopaokaka_luck15 小时前
灾害应急物资管理系统(AI应急助手、Echarts可视化数据看板、捐赠入库联动、 物资全流程管理、库存变动追溯、灾情资讯与互动反馈、物资发放公示)
java·前端·javascript·spring boot·mysql·tomcat·echarts
kyriewen15 小时前
我验了 7 种 sticky 失效说法:3 种根本不成立
前端·javascript·程序员
我命由我1234516 小时前
Python 实用操作 - 文件操作(打开与关闭文件、读取文件、文件写入)
java·开发语言·前端·javascript·数据库·python·java-ee
Momo__17 小时前
你写的 import 重试,从来没生效过
前端·javascript·typescript
tryCbest18 小时前
Vue3——第 11 篇:组合式 API(上)——setup 与响应式 API 深度解析
前端·javascript·vue.js