一串代码获取 QQ 所有表情包
一串代码获取 QQ 所有表情包
获取 QQ 所有的表情包,包括 emoji 和动态 gif。
腾讯 QQ 的表情包资源是对外开放的,可以通过固定的 URL 规律批量获取。这段代码能一次性获取上百个 QQ 表情,包括经典小黄脸和后来的emoji表情。
使用效果
运行代码后,会在指定位置生成一个表情网格(由于图片较多,这里展示部分预览):
QQ 经典表情预览(e100 - e203)
完整代码
HTML 部分
<div id="em"></div>JavaScript 部分
-(function () {
var ext = ".gif";
var href = "http://qzonestyle.gtimg.cn/qzone/em/e";
var em = document.getElementById("em");
// 经典小黄脸 e100 - e203
for (var i = 100; i < 204; i++) {
var liNode = document.createElement("img");
liNode.src = href + i + ext;
em.insertBefore(liNode, em.childNodes[i]);
}
// 更多表情包...
})();代码解析
第一步:定义基础变量
代码首先定义了变量 ext(文件扩展名 .gif)和变量 href(表情图片的基础链接地址)。然后通过 document.getElementById("em") 获取页面中 ID 为 "em" 的元素。
第二步:循环创建图片元素
通过一系列 for 循环,逐个创建 <img> 元素,并将表情图片的完整链接赋值给每个 img 元素的 src 属性。
第三步:插入页面
使用 em.insertBefore(liNode, em.childNodes[i]) 将每个 img 元素插入到指定的 DOM 节点中。
表情资源分布
| 范围 | 数量 | 类型 |
|---|---|---|
| e100 - e203 | ~104 个 | 经典小黄脸 |
| e7000 - e7449 | ~450 个 | 动态表情 |
| e328507 - e328576 | ~70 个 | emoji 表情 |
| e328581 - e328591 | ~11 个 | emoji 表情 |
| e328640 - e328709 | ~70 个 | emoji 表情 |
完整代码(含所有区间)
-(function () {
var ext = ".gif";
var href = "http://qzonestyle.gtimg.cn/qzone/em/e";
var em = document.getElementById("em");
// 经典小黄脸 e100 - e203
for (var i = 100; i < 204; i++) {
var liNode = document.createElement("img");
liNode.src = href + i + ext;
em.insertBefore(liNode, em.childNodes[i]);
}
// 动态表情 e7000 - e7449
for (var i = 7000; i < 7450; i++) {
var liNode = document.createElement("img");
liNode.src = href + i + ext;
em.insertBefore(liNode, em.childNodes[i]);
}
// emoji 表情(多段)
for (var i = 328507; i < 328577; i++) { ... }
for (var i = 328581; i < 328592; i++) { ... }
for (var i = 328640; i < 328710; i++) { ... }
})();📢 文章来自:微生之最
评论