lib7zr.so 处理压缩文件 使用 WebP 图片替换 PNG 图片 等方法进行 APK 瘦身 ; 之后的系列文章开始介绍如何使用 自定义 Gradle 插件 , 在编译时将资源中的图片都转为 WebP...格式 ; 注意 : 在低于 Android 3.2 版本的系统中 , WebP 格式无法使用 ; Launcher 图标必须使用 PNG 格式的 ; 9patch 图片不能转为 WebP 格式的 ;...使用 WebP 格式的图片 的前提是 API 版本需要大于 14 ; 使用 带透明度通道 的 WebP 格式的图片 的前提是 API 版本需要大于 18 ; Android Studio 自带 WebP...转换功能 , 右键点击资源文件中的图片 , 弹出的菜单中有 " Convert to WebP … " 选项 , 会弹出如下对话框 , 进行图片格式转换为 WebP 格式 ; 二、WebP...格式转换 ---- 美工交付给我们的一般都是 png 格式的图片 , 这里需要将其转为 WebP 格式的 ; Google 推出了 WebP 图片格式 , 同时也推出了相应的 WebP 图片格式转换器
后来发现 PicGo 有插件机制,一个想法就诞生了: 在 Typora 点击右键上传图片时,PicGo 插件接收到图片地址并将图片转为 webp 格式,存储到本地,返回给 PicGo 新的 webp...下面就来讲解下怎样来实现这个插件的开发。...-g 2、使用 picgo 命令创建一个插件项目: picgo init plugin convert-to-webp PicGo 的插件名称要求必须带有前缀:picgo-plugin ,否则不能识别...Use TS or JS? (Use arrow keys) ❯ Yes, use TS Project(recommended) Yes, use JS Project ?...源码 本插件的源码已经上传到 Github,地址如下: https://github.com/oec2003/picgo-plugin-convert-to-webp
WebP格式是什么?...WebP格式是Google开发的新一代图像格式,与Jpg格式同样是有损压缩图像格式,WebP的压缩效率更为出色,WebP的图像质量与Jpg相同时,WebP的文件大小比Jpg小30%,如果网页上的图片都使用...WebP图片格式,所有图片的总大小会减少30%,加载网页更快。...应用中心没有相关插件 目前ZBlog应用中心暂时没有WebP相关插件。...六、转换前后的文件大小的变化。 七、在写文章的时候可以上传webp格式的图片文件了。
打开各大网站,突然发现图片的格式竟然都是 webp格式。 说好的GIF,JPG呢? 那么为啥要使用WEBP格式呢? 完全蒙逼了!!!...谷歌浏览器已经支持webp格式,Opera在版本号Opera11.10后也增加了支持,然而火狐和ie暂时还不支持webp格式,可以采用flash插件来显示webp,当然这样会耗费一些性能。...,JPEG 转 WebP 的效果更佳。...但是压缩效果未能达到宣传的那样。如果你在使用 Chrome32 以上的浏览器,可以点这里查看官方提供的实例: WebP 示例 (Animated WebP)。...至于 WebP 的兼容性,在国内,WebP 已经得到半数用户的支持了 Can I use...
1.Chart.js 官网地址:http://chartjs.cn/ 2.优秀的bootstrap模板推荐 官网地址:http://bootswatch.com 3.wow+animate+js插件库
;我为了方便都写到一个html中了;请把这个script标签中的内容单独写在一个js文件里 //整个插件写在一个立即执行函数里;就是function(){}();函数自执行;保证里面的变量不会与外界互相影响...号(叹号)或者;(分号)这不是写错了,为了防止那个二货写的js结束没有分号;而可能发生报错 /* ;function(win,doc,$,undefined){ }(window...比如你要点击按钮 添加input的值到 div里 var addHtml = function(demo,btn){//插件名,调用的时候直接new一下插件名就行了并传参数或者传对象(一般这个函数名手写字母大写比较好...add-1");//这里是实例1调用插件的代码 new addHtml("demo-2","add-2"); //这里是实例2调用插件的代码 //是不是明白为什么要写插件了;要封装...--这里是最简单的插件写法;当然还有传对象参数的插件等等。。。。-->
分享一个js的拖拽框选插件 官网:https://dragselect.com/ 源码:https://github.com/ThibaultJanBeyer/DragSelect.git 使用: pnpm...i dragselect 有前端大佬翻译了部分,并编写了一个html的demo https://gitee.com/ovsexia/DragSelect-Doc-Cn 我在使用过程中发现反选有点问题,...所以如果是跟我一样pnpm i下载下的版本,应该也会有这个问题,因此反选自己实现即可,这是我按照上面链接中的demo在vue模块化项目中的组件: TagDragSelect.vue <!...element.querySelector('input[type="checkbox"]').checked = false; }, //鼠标抬起后返回所有选中的元素
官方提供的下载地址:https://storage.googleapis.com/downloads.webmproject.org/releases/webp/index.html 下载的 cwebp...代码实现 以下代码均来自booster开源项目 1.自定义gradle插件BoosterPlugin.java 这里的variantProcessors方法代码如下: private val...webp图片压缩,PngquantCompressionVariantProcessor用于针对于不能使用cweb的情况进行图片压缩,还有很多其他的Processor。...来实现,这里使用实现VariantProcessor接口的方式,主要是为了解耦,因为有很多插件的功能,但是别人使用不一定都会用到,通过接口实现的方式,如果没使用到的功能,没有引入,则没有实现类 2.CwebpCompressionVariantProcessor...,将资源转为webp然后aapt2进行处理,命令的来源可以参考webp和aapt2的使用文档 继续看关键代码 it.output.parentFile.mkdirs() val
前言: 前端最重要的就是美感,图片的显示也需要,博主在此分享一款灯箱JS插件,非常简单的调用即可实现全局的图片灯箱。...优势介绍 无需其他JavaScript编码 没有其他HTML片段 没有额外的CSS资源 没有其他图标/资产 无需额外处理动态内容和事件侦听器 效果图 调用方法 将以下代码插入到HTML底部 --> $(function
本文主要除了比较WEBP与JPG等传统格式的图片之外,还介绍了如何转换WEBP格式图片以及具体开发时的用法。 使用WEBP图片的目的 保证图片质量的前提下缩小图片体积。...WebP是一种支持有损压缩和无损压缩的图片文件格式(也支持alpha通道,动画演示),根据Google的测试,无损压缩后的WebP比PNG文件少了26%的体积,有损压缩后的WebP图片相比于等效质量指标的...WEBP与JPG的比较 WebP与JPG相比较,编码速度慢10倍,解码速度慢1.5倍 通过同样质量的WebP与JPG图片加载的速度进行测试。测试的JPG和WebP图片大小如下: ?...具体实现方法 - JS前端: 检测WEBP的支持程度 JavaScript检测是否支持WebP代码如下: function check_webp_feature(feature, callback) {...使用前端实现WEP的案例 考虑到不少开发人员没有后台操作权限,因此利利在此利用JS,书写了一个模拟性案例。
摘要: 各位Fundebug老用户,请尽快更换JS插件域名!!!将og6593g2z.qnssl.com替换为js.fundebug.cn。...某CDN的证书被Chrome 66中招 以前,Fundebug的JavaScript监控插件使用的是某CDN厂商提供的域名以及HTTPS证书: https://og6593g2z.qnssl.com/fundebug...请尽快更换JS插件域名 为了保证服务质量,我们果断更换了CDN厂商,绑定了js.fundebug.cn域名,并且申请了新的HTTPS证书。...各位Fundebug老用户,如果您是采用script接入插件的,请尽快更换JS插件域名!!!...但是,新版本的插件都将使用js.fundebug.cn域名。 由于更换插件域名所造成的困扰,Fundebug团队深表歉意!
之前我在自己的博客里发表了一篇用angularJs自定义指令实现的分页插件,今天简单改造了一下,改成了原生JavaScript版本的分页插件,可以自定义一些简单配置,特此记录下来。...本插件可以自定义的功能: 1....自己实现的简单小插件,把分页部分的css样式写在了插件paging.js中,以动态创建style标签的方式,加入到页面中。...1、代码部分: 1.1、插件 - paging.js 分页的css样式写在插件中,动态创建style标签,加载到页面中。在该js中有一个Paging构造函数。...,传入设置项的js对象,然后在回调函数里发送ajax请求获取数据。
html,js,css轮播插件 2016-9-9 今天帮一人写了个简单的轮播,工作不紧张,就顺便传上来分享给大家吧。源码,带部分注释。。。 //html Title $(function(){ Carousel.init($(".carouselBody")); });.../img/btn_r.png") no-repeat center center;} 注意事项,设置carouselBody的宽高时一定要考虑到图片的宽高,最好是宽高都是图片相同
1)概念: 懒加载也叫延迟加载:JS图片延迟加载,延迟加载图片或符合某些条件时才加载某些图片。 预加载:提前加载图片,当用户需要查看时可直接从本地缓存中渲染。...2)区别: 两种技术的本质:两者的行为是相反的,一个是提前加载,一个是迟缓甚至不加载。懒加载对服务器前端有一定的缓解压力作用,预加载则会增加服务器前端压力。...服务器端区别:懒加载的主要目的是作为服务器前端的优化,减少请求数或延迟请求数。预加载可以说是牺牲服务器前端性能,换取更好的用户体验,这样可以使用户的操作得到最快的反映。 例子: <!...hide(); document.title = '1/' + len;//初始化第一张 } }); //未封装成插件的无序预加载...,因此用$.extend(object)挂载插件
thread_key 可选 被评论文章在原站点的文章标识。如果有thread_id,此参数是可选参数,否则是必选参数。 thread_id 可选 被评论文章的多说文章ID。...parent_id 可选 父评论(被回复的评论)的ID。 author_name 可选 作者名字。如果已登陆多说,此参数是可选参数,否则是必选参数。 author_email 可选 作者邮箱。...remote_auth 可选 remote_auth串是判断用户是否登录的依据。...likes int 一定返回 评论被点【赞】的次数。 reports int 一定返回 评论被【举报】的次数。 type string 一定返回 类型。现在均为空。...畅言:http://changyan.kuaizhan.com/ PC端 通用代码接入 畅言支持各种类型的Web网站接入,网站只需要粘贴、复制JS代码到网页的任意位置,或者复制代码到模板中,畅言评论框将在所有网页自动出现
分享一个非常简单的图片预览插件viewer 首先引入js和css viewer.js:下载链接 jquery1.11.3.js:下载链接 jquery-viewer.min.js:下载链接 viewer.css...viewer.css" rel="external nofollow" rel="external nofollow"> </...//缩放等级(1倍) $image.viewer('zoomTo', 1); } }); // 初始化后获取Viewer.js
原文地址:https://github.com/lianxiaozhuang/blog 转载请注明出处 js 写插件教程深入 1.介绍具有安全作用域的构造函数 function Fn(name...(this instanceof Fn)){ //只要不是new的,用Fn()直接调用的,这里的this绝对不指向Fn;让它从 //新new一下;直到下一次代码走else里的内容...Fn.prototype = { constructor:Fn, getF:function(){ console.log(1); } } 2.默认参数 //我们用过一些插件...4.方法名防止冲突处理 //如果在引入你的插件之前,window下已经有Fn的变量;怎么办,你如果这么搞; 岂不是把别人写的Fn搞掉了 //此时应该把Fn的控制权交出,自己用Fn2输出 (function...typeof define === 'function') define(function() { return MyPlugin; }); //注册全局变量,兼容直接使用script标签引入该插件
jQuery Form插件是一个优秀的Ajax表单插件,可以非常容易地、无侵入地升级HTML表单以支持Ajax。...另外,插件还包括其他的一些方法: formToArray()、formSerialize()、fieldSerialize()、fieldValue()、clearForm()、clearFields(...show(); 8 }); 9 return false; //阻止表单默认提交 10 }); 通过Form插件的两个核心方法,都可以在不修改表单的HTML代码结构的情况下...showRequest(formData, jqForm, options){ 14 //formData: 数组对象,提交表单时,Form插件会以Ajax方式自动提交这些数据,格式如:[{...; 15 return false; 16 } 17 18 //方式三:利用fieldValue()方法,fieldValue 是表单插件的一个方法
用原生 JS 封装一个动画插件。效果如下: ? 这个飞驰的小球看起来是不是特有灵性呢?没错,它就是用原生JS实现的。 接下来,就让我们深入细节,体会其中的奥秘。...一、需求分析 封装一个插件,将小球的 DOM 对象作为参数传入,使得小球在鼠标按下和放开后能够运动,在水平方向做匀减速直线运动,初速度为鼠标移开瞬间的速度,在竖直方向的运动类似于自由落体运动。...四、采用发布-订阅 估计读完这段代码,你也体会到了这个功能的实现是非常容易实现的。但是实际上,作为一个插件的标准来讲,这段代码是存在一些潜在的问题的,这些问题并不是逻辑上的问题,而是设计问题。...在这里我并不是简单讲讲效果的实现、贴贴代码就过去了,而是带你体验了封装插件的整个过程。有了发布-订阅的场景,理解这个设计思想就更加容易了。...在我的理解中,编程的意义远不止造轮子,写插件,来显得自己金玉其外,而是留心思考,提炼出一些思考问题的方式,从而在某个确定的时间点让你拥有极其敏锐的判断,来指导和优化你下一步的决策,而不是纵身于飞速迭代的技术浪潮
插件 16、Beautify:主要拿它来格式话html的 17、StandardJS - JavaScript Standard Style:配合该插件可以自动将你的代码格式化成规范的代码。...javascript.format.insertSpaceBeforeFunctionParenthesis": true, // #这个按用户自身习惯选择 "vetur.format.defaultFormatter.html": "js-beautify-html...", // #让vue中的js按编辑器自带的ts格式进行格式化 "vetur.format.defaultFormatter.js": "vscode-typescript", "vetur.format.defaultFormatterOptions...": { "js-beautify-html": { "wrap_attributes": "force-aligned" // #vue组件中html代码格式化样式...} } // 格式化stylus, 需安装Manta's Stylus Supremacy插件 // "stylusSupremacy.insertColons": false, // 是否插入冒号
领取专属 10元无门槛券
手把手带您无忧上云