ejs中怎么正确使用使用js

发布于 2022-09-12 03:13:29 字数 1185 浏览 16 评论 0

以下是可以运行的代码

<%- Content();%><%  -%> //这里是调用博客文章内容的

<%
function refineContent(str){
 ym = //默认域名
 cdn = //加速域名
 indexC = str.indexOf('<img');
    while(indexC != -1){
        indexEnd = str.indexOf('>', indexC);
        srcImage = str.indexOf('src', indexC);
        domain = str.substring(srcImage + 5, srcImage + 5 + ym.length); 
        if (domain == ym){ 
            str = str.substring(0, srcImage + 5) + cdn + str.substring(str.indexOf("post-images", indexC));
        }
        indexC = str.indexOf('<img', indexEnd);
    }
    return str;
}
function Content(){
    let con= post.content;
    con = refineContent(con);
    return con;
}
%>

上面的代码是把默认域名替换成加速域名的。

如果我想在这里实现给文章img图片添加一个a标签,需要怎么做呢?

默认渲染:

<figure data-type="image" tabindex="1">
    <img src=".../图片.jpg" alt="" loading="lazy">
</figure>

想实现:

<figure data-type="image" tabindex="1">
    <a href=".../图片.jpg" data-fancybox="gallery">
        <img src=".../图片.jpg">
    </a>
</figure>

因为html是在本地渲染才上传到github上,所以想减少线上的js。有什么好办法没?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文