-
Notifications
You must be signed in to change notification settings - Fork 422
处理URL
sunsonliu edited this page Jan 3, 2025
·
3 revisions
new Cherry({
id: 'markdown-container',
value: '## hello world',
callback: {
/**
* 全局的URL处理器
* @param {string} url 来源url
* @param {'image'|'audio'|'video'|'autolink'|'link'} srcType 来源类型
* @param {function} callback 回调函数
* @returns
*/
urlProcessor: (url, srcType) => url,
}
});
在这个例子中,我们在callback
中定义了urlProcessor
,当markdown
中存在图片、音频、视频、自动链接、链接时,会调用urlProcessor
进行处理。
异步仅在v0.8.58及以上版本才支持
new Cherry({
id: 'markdown-container',
value: '## hello world',
callback: {
/**
* 全局的URL处理器
* @param {string} url 来源url
* @param {'image'|'audio'|'video'|'autolink'|'link'} srcType 来源类型
* @param {function} callback 回调函数
* @returns
*/
urlProcessor: (url, srcType, callback) => {
setTimeout(() => {
callback(`https://${url}`);
}, 1000);
},
}
});
- 将图片、音频、视频资源上传到服务器,并返回新的url
- 对所有超链接追加类似'?from=xxx'的后缀,用于统计来源
- 将图片URL替换为压缩后的URL,以节省流量(搭配
cherry.previewer.lazyLoadImg
的配置一起食用效果更好)
参见事件&回调