使用 Google Translate 为网页添加在线翻译功能


冲浪时偶尔发现了 Google Translate 提供的网页在线翻译服务,浏览了一下本站的在线翻译版本,发现谷歌的在线翻译质量非常不错,就想着能不能直接将这个功能加入到自己的博客中。

谷歌在线翻译站点的解析并不复杂,比如本站的欢迎文章网页为
https://blog-clso-fun.translate.goog/posts/welcome.html?_x_tr_sl=zh-CN&_x_tr_tl=en&_x_tr_hl=en&_x_tr_pto=sc
子域的blog-clso-fun即是将本站域名的点换为横杠,而路径和查询参数与原版一致,只是查询参数多了一些翻译参数的设定,基本也不难猜。

所以花了5分钟,写了一个JS脚本库,为本站的博客添加了切换翻译版本的功能,同时也分享给各位使用。

- 阅读全文 -

关于JS公共库的CDN加速服务,以及 Staticfile、BootCDN 这类黑产CDN投毒的解决方法

请谨慎使用国内的CDN服务
近期爆出知名CDN服务商 Staticfile、BootCDN、BootCSS、polyfill 等已被黑产所控制,会随机给用户挂广告、劫持站点流量等恶劣行为,请诸位站长一定要小心。

前言

很久之前,本站的主机服务器发生问题,导致了下载速度只剩下10kb,一个页面得加载好几秒钟……
我通过Chrome控制台,检测到是一些JS库拖慢了整个网站的速度。
虽然那些JS库不过5~60k的大小,但当我这破站只有10k限速的时候,你就可以想象整个页面的加载得有多慢了……

没有办法,为了让前端网页的速度能够更快一点,我只能将网站所使用的部分JS库转移到网上的JS公共库CDN加速之上了。
等到转移完毕之后,首页的加载速度果然大幅改善,然而某些不能加速的比如图片、或是自定义的脚本依然会卡网页,不过确实解了当时的燃眉之急。

当然,此刻本站已经不存在加载的问题,但我仍推荐各位中小型网站的站长、个人博客的博主使用一些JS公共库的CDN加速服务。
那么这些CDN加速的服务商有哪些呢?我们又该如何取舍?

- 阅读全文 -

利用CSS为网站添加透明渐变效果的背景图,以及如何用 Typecho-Plus 来简化这一步骤,实现快速切换单页的背景图,以及随机背景图的设计思路


想为网页添加背景图,我们只需要使用CSS的 background-image: url(图片地址) 即可,还可以通过 background-position background-repeat 等属性控制图片的位置、重复等参数。
若是想设置背景图透明度的话,则可以使用CSS3的linear-gradient参数,为背景图添加一个透明渐变层来实现。

比如我们想为 Typecho 添加背景图,除了可以在模板页的CSS中添加数据之外,还可以通过 Typecho 的魔术方法 !!! 来直接将html代码写入到一个文章内,这样即可为每个单独的文章或者页面添加独特的背景图。
(非Typecho博客请自行查询插入HTML代码的方法

- 阅读全文 -

利用本地JS代码进行页面繁简转换的JS库 chinese_convert.js


最近对博客进行了一些升级更新,所以本站的排版和内容也会逐渐变更。
其实老早就想给博客加一个转化繁体的功能,不过现在的浏览器一般都支持实时翻译,而且调用第三方的服务也很麻烦,所以一直懒得动。
正好趁着这次给博客升级的机会,不如把以前的一些设想给实现了,所以就搜了一下繁简转换的方法,也就有了这次的文章。

首先,利用JS进行转化的速度一般比调用第三方API要快,但是精度以及本地化程度肯定不如第三方服务,某些遣词也肯定无法在地化。
不过我这个小站也没多少人浏览,本着“轻量、快速”就好的原则,所以我选择了使用 chinese_convert.js 这个库。

- 阅读全文 -

Typecho-Plus 的自定义DIV、SPAN包装,以及预设风格

最近频繁更新 Typecho Plus,而在 0.6.0 版中我添加了一个新的块级标签DIV,和一个普通标签SPAN。
看名字就知道,这两个标签是对于HTML的DIV与SPAN的包装,它们会将内容包装成一个可扩展的、简单的Div与Span元素。
既然它们只是简单的包装,那我为何要添加这两个标签呢?它们又有什么“神奇”的效果呢?

- 阅读全文 -

为网站添加了左右键快速翻页的功能

因为我用的 Typecho 模板没有自动翻页的功能,所以自己写了一个。
主要的功能是当焦点不在输入控件时,按下键盘的左、右键就可以自动跳转到索引的上下页、文章内部分页的上下页……

示例代码中用到了两种判断方式,一种是利用 keydownkeyup 事件参数来判断目标的NodeName,另一种则直接获取当前的焦点元素,通过TagName来判断。
至于要用到哪一种,请你自行抉择……

而对于跳转地址的JQuery查询,请自定义为你模板中的上、下页查询代码!!!

- 阅读全文 -

通过JS拦截 pushState 和 replaceState 事件

history.pushStatehistory.replaceState 可以在不刷新当前页面的情况下更改URL,但是这样就无法获取通过AJAX得到的新页面的内容了。
虽然各种HTML5文档说 window.onpopstate 事件可以拦截 pushState 的消息,但在实际的测试中, onpopstate 根本没有任何作用,无法拦截 pushState 的消息。

经过Google一番,才找到了正确获取 pushState 事件的代码

- 阅读全文 -

用XPath查找HTML节点或元素

虽然JS与JQ都能很方便的查找包含了ID及类名的元素,但在某些情况下,我们需要查找一些不包含类名、ID的元素或节点,就需要用XPath来帮忙了。
XPath虽然是被设计用来搜寻XML文档的,不过它也能很好的在HTML文档中工作,并且大部分浏览器都支持通过XPath来查询节点。

- 阅读全文 -

简易 Markdown 语法教程


说明

Markdown 是一种“易读易写”的标记语言,它通过一些简单的符号来对文章内容进行排版,作者无需精通HTML、UBB这些标签式的代码语言,就可以对自己的文章进行排版,写出漂亮的文章。
本站采用Markdown进行文章的投稿及发布,如果您想在本站发表文章,请确保自己熟练使用该语法。

以下为Markdown的简易教程——

- 阅读全文 -

將頁面轉換爲繁體

Google Translate

公告

欢迎您光临鄙人的小站,虽然没什么太专业的东西,不过如果本站的文章能让您有所收获、或者仅仅是博您一笑,那么也不枉费我建站的辛苦了!

您可以使用邮件订阅来获得邮件更新提醒。

瞎哔哔

    服务器后台更新,已使用了服务商内置的CDN,缓解最近老是断连的问题。

  • 查看更多...

最新文章

随机文章

最近回复

分类

标签