google fonts 的两个域名 googleapi.com 和 gstatic.com 在国内访问不稳定,google fonts 加载有时成功有时不成功,可以考虑用 cf worker 代理。

在 fonts.google.com 选好字体后,得到相应css地址,如
https://fonts.googleapis.com/css2?family=Roboto&display=swap
把地址中的fonts.googleapis.com换成自己的域名,cf worker 完成后面的工作。

worker 代码:
export default {

  async fetch(request, env, ctx) {
    const hostname = request.headers.get("Host");
    const url = new URL(request.url);
    const { pathname } = new URL(url);
    
    let newurl;
    if(pathname.startsWith('/css')){
        newurl = new URL(request.url.replace('fonts.your.site','fonts.googleapis.com'));
        const resp = await fetch(newurl);
        let resp_text = await resp.text();
        resp_text = resp_text.replaceAll('fonts.gstatic.com', 'fonts.your.site');
        return new Response(resp_text, { headers: { "content-type": "text/css;charset=UTF-8", },});
    } else {
        newurl = new URL(request.url.replace('fonts.your.site','fonts.gstatic.com'));
        return await fetch(newurl);
    }
}

}

代码中的 fonts.your.site 换成你自己的域名,然后给 worker 配置好相应路由即可。

推荐文章

又拿下一个域名

img.wang

【教程】搭建一款Web在线的Linux命令搜索工具

系统介绍Linux-Command是一个收集了580多...

可按 ESC 键退出搜索

0 篇文章已搜寻到~