您的位置: 上海热线 > 科技 > 正文

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

2020-04-01 09:29:09来源:阅读:-

《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实战》中文版!

推荐阅读:科技测评

滚动推荐
29:09《Electron实战》中文版:E
07:45防盗门的功能有哪些?
防盗门是安全产品家族中的重要成员。近年来,像其他安全产品一样,得到了广[详细]
47:42知道吗?原来小米手机的小爱同学强大
不过有些小伙伴觉得小爱同学并不好用,但其实小爱同学可是非常智能好用的呢[详细]
28:22程序员在公司没事干时候,做什么好?
点击上方☝Java编程技术乐园,轻松关注!及时获取有趣有料的技术文章程[详细]
09:14刘强东大5岁的丈母娘长什么样?看到
其实在一开始是有很多人质疑他们的爱情,因为在年龄上他们的差距真的很大,[详细]
51:13想电动车电池寿命延长一倍!请留意以
在锂电池大量用于新能源纯电动汽车大背景之下,有人预言,锂电池有取代铅酸[详细]
33:57Chrome 80 稳定版发布
Chrome 80 稳定版(版本号v80.0.3987.87)已正式面[详细]