您的位置: 青财网 > 家居 > 正文

《Electron实战》中文版:Electron实现UI界面

2020-04-01 06:33:52来源:阅读:-

《Electron实战》中文版内容节选,私聊得电子书样本。

《Electron实战》中文版:Electron实现UI界面

2.4. UI实现

我们首先修改一下index.html文件,为UI添加一些必要的标签。

代码清单2.12 为应用程序UI添加标签:./app/index.html

Bookmarker

我们有一个添加新链接的section,一个用于显示所有链接的section,以及一个用于清除所有链接的按钮。应用程序的

内容已经准备好了,现在将注意力转向功能。让我们清除app/renderer.js的所有内容,重新开始。在此过程中,我们需要处理添加的标记元素,因此让我们首先通过选择器查询到这些元素,将他们缓存到变量中。将以下代码添加到app/renderer.js文件。

代码清单2.13 缓存DOM元素选择器:./app/renderer.js

const linksSection = document.querySelector('.links');const errorMessage = document.querySelector('.error-message');const newLinkForm = document.querySelector('.new-link-form');const newLinkUrl = document.querySelector('.new-link-url');const newLinkSubmit = document.querySelector('.new-link-submit');const clearStorageButton= document.querySelector('.clear-storage');

如果你回顾一下代码清单2.12,你会注意到我们将标记中的input元素的type属性设置为了“url”。如果它的内容不是有效的URL,Chromium会将该元素标记为无效。我们可以给元素添加有效和无效状态的样式,甚至可以通过JavaScript来检测它的状态。不幸的是,我们无法访问Chrome或Firefox内置的错误消息弹出窗,这些弹出窗不属于Chromium Content Module,因此也不是Electron的一部分。此时,我们在默认情况下禁用提交按钮,然后用户每次输入URL时,再检查其内容是否是有效的URL。

只有当用户输入了有效的URL,我们才启用提交按钮,允许他们提交URL。向app/renderer.js文件添加以下代码。

代码清单2.14 添加一个事件监听来启用提交按钮:./app/renderer.js

newLinkUrl.addEventListener('keyup', () => {    newLinkSubmit.disabled = !newLinkUrl.validity.valid;});

趁现在还可以添加一个小辅助函数,用来清除URL输入框内容。正常情况下,只要成功存储了链接,就该调用它。

代码清单2.15 添加一个帮助函数来清理输入框:./app/renderer.js

const clearForm= () => {    newLinkUrl.value = null;};

当用户提交链接时,我们希望浏览器能向该URL发送一个请求,获取响应内容后,进行解析,查找title元素并获取标题文本,然后将书签的标题和URL存储到localStorage,最后更新书签页面。


《Electron实战》中文版!

推荐阅读:外星人15r4

滚动推荐
33:52《Electron实战》中文版:E
16:01防盗门的功能有哪些?
防盗门是安全产品家族中的重要成员。近年来,像其他安全产品一样,得到了广[详细]
53:02APP授权设计:如何让用户不反感并
注意:iOS应用需要使用 iCloud 服务时,如果用户已经在 iPh[详细]
30:15奥巴马最爱智能手机宣布停售,号称是
还记得2009年时,年少无知的我,看到一个手机号称“美国总统都在用的智[详细]
07:39疫情提速快递末端配送变革,带来哪些
面对无法判断的疫情,为给自己和他人创造安全的环境,大部分快递人都很坦然[详细]
45:32新品上市 | 一文掌控i6无线自发
​在日复一日的生活中或多或少会遇到以下同款“无奈”​​​​面对生活中的[详细]
24:31未来世界:区块链+物联网
物联网和区块链这两个技术可谓是当今科技领域的大热门,有没有可能把这两个[详细]