整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

2021系列-8个很棒的JavaScript插件,安

2021系列-8个很棒的JavaScript插件,安利一波

不会感觉自己的网站看上去平淡无奇?!想不想多点色彩和动画?

尽管CSS3和HTML5目前的进步是有目共睹的,但是有时候攥点JS插件在手里还是能帮上大忙的,下面推荐8个项目,好基友们拿去玩吧!

1 . Hyphenator

考虑在网站上使用传统的书本样式?没有连字符是不可以的,因为CSS不支持这样搞,比较棘手!幸运的是,Hyphenator使过程变得简单,只需使用合理的文本对齐方式并安装此脚本即可。

相关链接:https://mnater.github.io/Hyphenator/

2 . jFormer

想要轻松创建美观的表格,可以在不重新加载页面的情况下进行处理,并验证客户端和服务器端,然后可以保存并后续再做恢复......搞AJAX都不想亲力亲为 ?没关系,jFormer会为搞定,使你的目标用户能够更轻松地填写表格。

相关链接:http://www.jformer.com/

3 . arborjs

是否需要在网站上显示图表可视化或类似思维导图的东西?而且还不想采用静态的旧图像? arbor.js是使用jQuery构建的图形可视化库,你可借助它来使用画布、SVG或HTML元素绘制图形等。

相关链接:http://arborjs.org/

4 . jNotify

如果你的Web应用或网站需要配通知功能,那么jNotify可以让通知功能的显示独具品味:收到的通知会显示在页面顶部,然后根据你所设置的时间消失或被点关闭消失;一方面用户一定会看到这些通知,但又不妨碍访问网站的操作,这样的用户体验应该是你所追求的,对吧......

相关链接:http://jnotify.sourceforge.net/

5 . 网站导览

如果你希望用户在第一次使用应用或网站服务时,可以得到良好的指引导览,那么Website Tour应该正是想找的jQuery插件 —— 可以通过使用“下一步”和“后退”按钮单击浏览,也可以进行同步浏览。这绝对能够高效地帮助新用户快速了解网站的各项功能。

相关链接:https://tympanus.net/Development/WebsiteTour/

6 . Reveal

模式窗口可用于Web设计和开发中的各种场景。假如你打算借助外部插件,ZURB拥有一个免费的Reveal模式窗口插件,即有出色的默认外观,同时还可自定义。

相关链接:https://legacy-zurb.netlify.app/playground/reveal-modal-plugin

7 . Galleriffic

对于用户而言,优秀的画廊视图绝对算是网站上的一个卖点,但是这不是很容易搞:当用户要浏览三张或四张以上的图像时,你需要一个快速且易于浏览的gallery,并且还得保证无需在新标签页中打开50张图片便可快速浏览。Galleriffic能够帮到你,你可以在一系列不同的配置中执行这些操作。

相关链接:https://github.com/iamvery/galleriffic

8 . jQuery UI

在使用JavaScript进行站点开发时,使用jQuery能够节省大量时间。

你可以考虑使用jQuery自己的jQuery UI库来安装基本的UI元素,它能够帮助你节省下更多时间! 这个库包含大量交互模式、小组件、动画等等。

相关链接:https://jqueryui.com/

希望这些JS插件有助于使你的网站看起更棒!

果你对数据分析感兴趣,希望学习更多的方法论,希望听听经验分享,

欢迎移步宝藏公众号「小火龙说数据」,无广告、无软文、纯干货,更多精彩原创文章与你分享!


1、OneTab:一键合并 tabTab 过多的时候,要关闭浏览器的时候OneTab可以帮助你快速的保存、整理浏览器。


2、掘金:最新的技术动态每次打开新的 tab 页面就可以看到最新、最热的技术文章。


3、markdown here超好用的 MD 编辑器,任何地方都可以把 MD 轻松的转换为富文本,我们可以把简书写好的文章(带md语法)直接复制到微信公众号啦。


4、Adblock Plus:免除广告困扰你是不是每次搜索百度前几个都是广告?有了它,你的搜索结果只有纯净。


5、LastPass:密码管理软件LastPass,全球知名在线密码管理工具之一,采用军事级加密算法,支持自动填充网站用户名和密码,与朋友分享登录信息等实用功能,且在全平台同步免费,无需订阅 Premium,即可在手机、网页、电脑端同步你的所有 LastPass 信息。


6、二维码(QR码)生成器在线的二维码生成器。最方便的用法是把当前的页面生成二维码,方便手机扫码快速访问。


7、下载+Chrome的下载管理在二级菜单里,进去很不方便。装了这个插件就可以直接看和管理,很好用。


8、Github 加速器一键加速 Github 访问速度,当 Github 访问慢的时候点击右键直加速,同时支持多个加速镜像。


9、购物党在线的比价工具,剁手党们赶紧装起来。


10、新浪微博图床简单好用的新浪微博图床,同时可以快速转换格式,HTML和Markdown等格式,支持浏览和删除历史记录。


11、crxMouse Chrome Gestures对于国产浏览器自带鼠标手势的功能,真觉得很方便!有了这款插件,也足够让你装B了。


12、Imagus图片放大镜的功能,在浏览新闻和博客的时候想右键看一下高清图,有了这个插件完全不用,鼠标悬浮就能看高清图片。


13、Save to Pocket看到感兴趣的先收藏着,然后走哪儿都能看,并且它由各个平台的版本支持,同时可以自动去广告,只把关键的内容保存,这样非常方便各个平台阅读。


14、网页截图:注释&批注网页截图,批注工具。


15、Image Downloader Chrome想下载某个页面的图片,不用再去资源里面一个一个看了,直接安装这个插件,一键就可以下载。


16、Google翻译Google翻译是一款由谷歌公司提供的网页划词翻译插件,它支持动态的划词翻译功能,也支持网页翻译,真是阅读外文网站的好帮手啊。


17、Lucidchart Diagrams - Desktop:在线绘制多种图表绘制各种流程图手头没有趁手的工具,直接试试这个工具哈。


18、Vimium:Linux 系统的 vim 编辑器快捷键功能能够在chrome中应用类vim快捷键进行操作,实现双手从鼠标上的解放,强烈推荐!


19、New Tab Startup Quotes:学习成功人士的格言每次打开新的 tab 都会有一个名人名言,不过是英文的,得思考一下才能理解其中的奥妙,如果你能做一个中文版就好了。


20、Search by Image:强大的以图搜图发现了一个图片,但是不知道他是什么,或者想搜索一些类似的,那么就用这个插件。


21、为什么你们就是不能加个空格呢 自动把网页中所有中文、英文、数字、符号之间插入一个空格。


22、Clear Cache点击图标即可清除缓存、cookie等,开发必备!


23、JSON ViewerJSONView 是一个方便查看 Json 结构的插件,展开,折叠,可以非常方便的查看接口返回数据。


24、Postman相信开发者朋友一定知道这款插件,非常方便的调用和调试 API 接口。


25、Octotreegithub上查看代码的时候总是一层层进入再出来,有点麻烦,有了这个插件,你可以想浏览本地 IDE 一样浏览 Github。


26、Table of contents sidebarTable of contents sidebar 可以让你在阅读很长篇幅的文章时候清晰的看到文章轮廓。


27、Tampermonkey俗称‘油猴子’,方便的管理插件的插件,你试试就知道如何的优秀。


28、Code ColaCode Cola是一个可视化编辑在线页面css样式的chrome插件。


29、WEB前端助手FE助手:包括字符串编解码、图片base64编码、代码压缩、美化、JSON格式化、正则表达式、时间转换工具、二维码生成器、编码规范检测、页面性能检测、栅格检测、JS运行效率分析等等你日常生活中不可缺少的插件。


30、sider:ChatGPT侧边栏轻松应用ChatGPT,实现Chrome与ChatGPT的联动应用,强烈推荐!

发环境准备

首先需要安装Chrome浏览器和开发者工具。进入Chrome应用商店,搜索“Extensions Reloader”和“Manifest Viewer”两个插件进行安装,这两个插件可以方便开发和调试。


Chrome 应用商品

创建插件

创建插件的方式有两种。第一种是从零开始创建,需要编写插件的各种文件,包括manifest.json、popup.html等。第二种是使用生成工具,如Yeoman,它可以自动生成插件文件和代码结构。

# Please make sure that `yo`, `gulp` and `bower` was installed on your system using this command:
npm install --global yo gulp-cli bower

# Install the generator:
npm install -g generator-chrome-extension

# Make a new directory, and `cd` get into it:
mkdir my-new-chrome-extension && cd $_

# Generate a new project
yo chrome-extension

编写插件代码

插件代码可以使用HTML、CSS、JavaScript等,需要根据插件的功能进行编写。

代码结构为:

manifest.json
popup (点击插件图标弹出的页面)
content script (插入到目标页面中执行的JS)
background script (在浏览器后台Service Workers中运行的程序)
options (选项页面,可有可无)

可以参考文档:http://docs.getxhr.com/ChromeExtensionDocument/docs.html


调试和测试

在Chrome浏览器中可以使用开发者工具进行调试和测试,可以查看插件的运行状态,以及对代码进行修改和调试。

使用Extensions Reloader可以简单实现插件更新

开发注意点

1、manifest.json必须放在插件项目的根目录,里面包含了插件的各种配置信息,其中也包括了popup、content script、background script等路径。

不支持使用SVG格式的图片。

2、在MV3中,由于Service Workers的机制,background页中不支持使用XMLHttpRequest,建议使用fetch()。

3、不允许在html文件中写js代码,只能通过script标签导入js文件的方式,导入文件也不能使用项目外部的文件,比如不能使用CDN上的文件

4、不要直接在元素中给onclick属性一个函数调用,例如testB,即使有定义onSave方法,也会报错onSave is not defined,要给元素添加事件要使用JS动态添加,例如$(“#save”).click(onSave)。

5、内容脚本和网站想要访问的所有资源都必须在web_accessible_resources属性下声明。

popup可以直接调用background中的JS方法,也可以直接访问background的DOM。

6、在对popup页面审查元素的时候popup会被强制打开无法关闭,只有控制台关闭了才可以关闭popup,原因很简单:如果popup关闭了控制台就没用了。

7、插件图标在未命中popup的URL匹配规则的页面时没有变灰,这是chrome自身的一个bug(可以关注bug论坛:https://bugs.chromium.org/p/chromium/issues/detail?id=1127067)。

8、chrome.tabs.connect或chrome.tabs.sendMessage不能用于与选项页面通信,选项页面可以使用chrome.runtime.connect和chrome.runtime.sendMessage与background页通信。

9、很多时候你发现你的代码会莫名其妙的失效,找来找去又找不到原因,这时打开background的控制台才发现原来某个地方写错了导致代码没生效,正是由于background报错的隐蔽性(需要主动打开对应的控制台才能看到错误),所以特别注意这点。

10、关于content script的注意事项

content script文件中可以获取web页面的DOM并修改,content script和原始页面共享DOM,但是不共享JS,JS是相互隔离的,可以通过window.postMessage和window.addEventListener来实现二者消息通讯。

11、不能访问background或popup中JS定义的变量或方法。

12、不能访问web页面或其他content script中定义的变量或方法。

13、content script文件中只能使用下面列出的API:

chrome.extension(getURL , inIncognitoContext , lastError , onRequest , sendRequest)

chrome.i18n

chrome.runtime(connect , getManifest , getURL , id , onConnect , onMessage , sendMessage)

chrome.storage

跨域请求

// content.js
chrome.runtime.sendMessage({
   todo: "hello",
   data: 996,
}, function(res) {
   console.log(res);
});
// background.js
chrome.runtime.onMessage.addListener(function (request, sernder, sendResponse) {
  fetch('https://xxxx/xxx').then(function(response) { return response.json() })
  .then(function(json) { return sendResponse(json) })
  .catch(function(error) { return sendResponse(null) });
  return true;
});

发布和分发

发布插件需要一个Google开发者账号,并进行相应的审核和测试。插件发布后可以通过Chrome应用商店进行分发和安装。