一卷图库(MonoRoll)收录了校友投稿的校园照片,也是考试时钟的背景图库。你可以在这里浏览照片,或将图库接入自己的网页。
图片按照 CC BY-NC-SA 4.0 授权:使用时请注明作者与来源、附上许可链接;如有修改,请说明,并遵守非商业性使用与相同方式共享要求。受图片服务限制,目前暂停接收新投稿。
原投稿联系人:QQ 2399052066(纸鹿)。在线预览(由 Imgtg 托管)。
图片预览
展开批次可点选图片,也可随机浏览。
书堆 (Nov21) @绩笑
正在加载图库…
在网页中显示图片
将下面的代码放入 HTML,即可随机显示一张图片及其署名。代码使用浏览器原生模块,无需安装依赖;本地预览时请通过 HTTP 服务器访问页面。
1 | <figure> |
pickImage() 随机选取一张照片,返回地址、标题、作者和批次。示例在图片加载完成后显示署名,加载失败时显示提示。
选择图片
1 | import { collections, images, pickImage } |
| 导出 | 用法 |
|---|---|
collections |
按原始批次名组织的图片数组,例如 collections.Nov21。 |
images |
全部图片组成的数组,可按下标读取。 |
pickImage(collection?) |
不传参数时从全库均匀随机选图;传批次名时只从该批次选图。 |
每张图片具有相同的字段:
1 | { |
1 | const anyImage = pickImage(); // 全库随机 |
批次名区分大小写,例如 Nov21、End22,请从 collectionNames 中选择。传入未知或没有图片的批次会抛出 RangeError。随机选择时每张图片的概率相同,也可能连续选到同一张。
请将返回的数据作为只读数据使用。数组顺序可能随图库更新而变化;需要保存某张图片时,请记录其 URL 和署名,不要把下标作为永久 ID。
用作背景
导入模块不会自动更换背景。可以先加载图片,再更新背景与署名;加载失败时保留原图。
在页面中添加 <p id="background-credit"></p>,并在已导入 pickImage 的模块中使用:
1 | async function changeBackground(collection) { |
将 changeBackground() 绑定到按钮即可手动换图;传入批次名,如 changeBackground("Nov21"),则只从该批次选择。展示时请保留作者署名、图库来源与许可链接。
加载失败时
示例需要支持 ES Modules 的现代浏览器。确认脚本带有 type="module",并通过 HTTP 或 HTTPS 访问页面,不要直接双击 HTML 文件。
图库入口已配置跨域访问,接入方无需添加代理或 JSONP。若模块导入失败,检查浏览器网络面板中的 monoroll.js 和 config/gallery.js 请求;若已取得图片信息却无法显示,则检查对应的图片 URL。图片由图床提供,个别图片不可用时可以换一张。
从旧版 MG 迁移
如果你的网页仍引用 https://thisis.host/monoroll/load.js 并使用全局 MG 对象,需要改为本页的模块接口。旧的 MGLoad() 回调改为放在 await import(...) 之后执行:
| 旧接口 | 新方式 |
|---|---|
MG.pic |
images;图片地址字段由 src 改为 url。 |
MG.bgBind() / MG.infoBind() |
页面自行选择元素并写入背景、署名。 |
MG.setBg(index) |
读取 images.at(index) 后由页面展示。 |
MG.setRandBg() |
pickImage();不再支持旧版 alpha 权重。 |
MG.setBgByIssue(yyMM) |
从 collections 选择真实批次名,再调用 pickImage(name)。 |
MG.setBgByPicId(yyMMNN) |
新数据不提供旧数字 ID;先从旧记录找到图片 URL,再在 images 中匹配。 |
更新数据后数组顺序可能变化,不能把旧数字 ID 按新数组下标重新生成。旧版作者联络表也不属于新公共接口;作品署名使用每张图片的 author 字段。
图库数据与模块源码见 ExamClock 仓库。