无后端完成在线翻译功能

在线翻译

纯前端 + 百度翻译API + localStorage本地存储
完成提取文本中的生词,并返回单词的翻译结果css

项目内容

以前背单词的时候发现,直接背单词的话太枯燥,直接阅读英文书籍、报纸又有太多的单词不认识,
就想可以作个demo,直接检查出 一个英文文本中的 生词,并翻译出来。html

本demo有下列内容前端

  • 前端界面
  • 用localStorage存储用户已近掌握的单词
  • 利用百度翻译API翻译单词

项目演示

因此项目自己不须要服务器,编写玩静态资源后能够直接托管在GitHub Page上(GitHub真是伟大的网站)git

在线地址github

操做演示:正则表达式

演示GIF

(没法加载GIF能够自行打开该连接浏览器

代码逻辑

代码仓库
目前项目正处于初级阶段,因此简陋,还有许多未添加的功能服务器

目录结构

.
├── README.md
├── css
│   └── style.css
├── index.html
└── js
    ├── getTrans.js
    ├── getVocabulariesFromText.js
    └── static
        ├── jQuery.min.js
        └── md5.js

其中js/static目录下 一个提供jQuery,另外一个用于百度翻译要求的MD5加密学习

localStorage

从项目网站所在的便签也打开控制台,观察localStorage

我把把全部单词分为已知know,正在学习learn和未知。并把已知的单词存储在localStorage。
这样作的好处是不须要服务器,坏处是用户换个浏览器以前的内容就没了网站

前端页面

分为三个部分:

  • 输入框,用来等待用户输入文本
  • 提交按钮,点击后开始翻译文本框中的内容
  • 用来显示翻译结果的表格

js代码流程

为提交按钮绑定onClick时间

当用户点击提交按钮后

  • 得到输入框中的文本
  • 用正则表达式提取其中的英语单词
  • 对提取到的单词作两个处理
    • 去除重复的单词
    • 去除已经学会的单词
  • 利用百度翻译API翻译单词
  • 将返回的结果渲染到页面

仓库的代码都有注释,就很少说废话了

结语

项目还很简陋,有时间再完善下。

相关文章
相关标签/搜索