问答

ejs中怎么正确使用使用js

作者:admin 2021-07-18 我要评论

以下是可以运行的代码 %- Content();%% -% //这里是调用博客文章内容的%function refineContent(str){ ym = //默认域名 cdn = //加速域名 indexC = str.indexOf(...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

以下是可以运行的代码

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

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • ejs中怎么正确使用使用js

    ejs中怎么正确使用使用js

  • 使用IDEA右侧的MAVEN可视化打包项目报

    使用IDEA右侧的MAVEN可视化打包项目报

  • Spring cloud gateway 接入Skywalking

    Spring cloud gateway 接入Skywalking

  • element ui tree 怎么自己去控制收缩和

    element ui tree 怎么自己去控制收缩和

腾讯云代理商
海外云服务器