一个Javascript库,用于在浏览器端生成placeholder image,提供完善的配置和简单的方法。EN-Readme
不依赖任何 js 框架,比如 jq
小于 1k ,具体是0.98k,增加img配置方式之后,为1.52kb
配置项多,都有默认值
使用简单
引入 placeholder.js 到你的前段代码中:
<script src="placeholder.js"></script>
1.调用placeholder.js的方法进行替换,举个例子如下:
<img src="image_origin.png" onerror="this.src=placeholder.getData({text: 'Image 404'})">
2.使用URL参数的方式配置Img的属性options,例如:
<img class="placeholder" />
或者携带参数options:
<img options="size=256x128&text=Hello!" class="placeholder" />
请注意img标签的class属性必须placeholder。
Placeholder 配置项用于API方法的输入参数, e.g.placeholder.getData({text: 'Image 404'}). 或者作为URL参数样式作为img的属性配置, e.g.options="size=256x128&text=Hello!"
size: placeholder图片尺寸. 例如:256x128, 默认:128x128.
bgcolor: 背景颜色. 例如:#969696. 默认:random.
color: 前景颜色,文字颜色. 例如:#ccc. 默认:random.
text: 自定义文本内容. 例如:Hello World, 你好. 默认: equal tosize.
fstyle: 字体样式. 可以是normal / italic / oblique. 默认:oblique.
fweight: 字体weight. 可以是normal / bold / bolder / lighter / Number. 默认:bold.
fsize: 字体大小. 默认:自动计算字体大小防止文字超出图片大小.
ffamily: 字体. 默认:consolas.
具体参数配置例子:
var opts = { size: '512x256', bgcolor: '#ccc', color: '#969696', text: 'Hello World, 你好', fstyle:'oblique', fweight: 'bold', fsize:'40', ffamily: 'consolas' } console.log(placeholder.getData(opts)) //get the base64 of the placeholder image.
作为img的options属性为:
size=256x128&text=Hello!&bgcolor=#ccc&color=#969696&fstyle=oblique&fweight=bold&fsize=40&ffamily=consolas
placeholder.getData(opts): 获得placeholder图片的base64字符串,可以直接在img标签的src属性中使用,或者在css的背景中使用。
placeholder.getCanvas(opts): 获得canvas元素, 可以直接插入到DOM结构中。
很多 image placeholder 都是在服务端生成,需要额外搭建服务以及耗费资源。
imsky/holder是客户端生成,大名鼎鼎,但是在用到网页上,动态图片的时候,它的那种风格用起来不太方便。
其他的 image placeholder 太大了,比如上面提到的 holder 压缩之后还有 30k 以上,其实不太使用在网页上使用。
更多的灵活配置。
作为浏览器端的js库,尽可能的压缩大小。
任何问题欢迎反馈和 pr ,代码非常简单,相信 1 分钟你就可以看懂,非常欢迎push request。
问题:当用户输入表单信息不合法是加亮placeholder 首先将加亮后的信息写在css指定的类里如:.error .error:-moz-placeholder { /* Mozilla Firefox 4 to 18 */ color: red; font-weight: bold; } .error::-moz-placeholder { /* Mozilla Fire
问题:使用了兼容IE8 placeholder的插件jquery.placeholder.js和placeholders.jquery.js的输入框,在同页面内打开关闭窗口时placeholder会消失(easyui)。 分析原因:两个插件内都调用了beforeunload方法,该方法会清空输入框的值,在页面内打开和关闭窗口时会触发该事件,导致输出框的placeholder消失。 解决方案:删除b
我有一个这样的歌剧API: OpenAPI生成器Maven的插件为schema对象创建了一个请求类“GenerateTokenRequest”,但在API实现类中它没有使用。它生成一个方法,将所有请求的字段作为参数列表。方法如下: 所以,在这种情况下,请求类“GenerateTokenRequest”被生成,但从未使用过。任何人都可以告诉我为什么?有一种使用我的请求类的替代方法吗?我可以在Open
嗯,首先,对不起我的英语不好。 “enderecodao.java”: 和ENDERECO的WebService“servicoEnderEco.java”:
我有一个WildFly集群,它应该将所有主题消息共享给不同的节点,并在一个节点离线时保存它们。< br >在这种情况下,我需要耐用的订阅服务器。 我注意到如果我使用相同的clientID,系统会进行负载平衡。如果我将clientID或认购名称更改为唯一值,它就可以工作。 那么什么时候使用唯一的clientID,什么时候使用subscriptionName 我的答案是,每个节点的唯一clientID
我们需要通过相互TLS在ec2服务器和客户服务器之间进行通信。请求从我们的服务器发送到我们的客户服务器-因此我们是这里的客户机。 我读了这篇文章,谈论如何生成文件。 第一步是创建客户端和服务器都信任的证书颁发机构(CA)。CA只是一个公钥和私钥,公钥封装在一个自签名的X.509证书中。 我们的证书和他们的证书-应该从同一根CA签名?谁应该提供? 我这边的代码应该是这样的: 那么我们应该互相提供什么
我是stackoverflow的新手,因此这是我的第一篇文章。请原谅我英语不好。。。我花了几个小时在相关的话题上,但没有一个能满足我的需要。我正在编写一个通讯簿,我希望我的用户能够随时下载pdf联系人列表。一切似乎都很顺利,但实际上客户端从未下载pdf文件,尽管我可以在使用chrome开发者工具的请求中看到它。这是我的密码: 当检查响应时,我得到如下结果: 有没有人好心告诉我出了什么事?
客户端集成 CAT推出多种语言的客户端,基本覆盖了主流开发语言。 CAT目前支持::Java、C、Python、node、Go等语言的接入。详情请参考:传送门 注意所有的客户端均在lib目录下,Java客户端也是,Java客户端不再使用cat-client这个模块,这个客户端无任何依赖。 Java C C++ Python Go Node.js 其它语言客户端接入: .NET 客户端 项目地址 c