ejs中怎么正确使用使用js

新手上路,请多包涵

以下是可以运行的代码

<%- 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。有什么好办法没?

阅读 1.7k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题