首页 > 开发 > NodeJS > 正文

node.js在.ejs里面调用在js里的方法

2017-09-08 17:11:04  来源:网友分享
<script type="text/javascript">        function fn(strCon){            var imgSrcCon=strCon.match(/<img.*?>.*?<\/img>/g);            if(imgSrcCon != null){                for(var k=0;k<imgSrcCon.length;k++){                    var k1 = imgSrcCon[k].indexOf("=");                    var k2 = imgSrcCon[k].indexOf(">");                    var k3 = imgSrcCon[k].indexOf("<",k2);                    var uri = imgSrcCon[k].substring(k2+1,k3);                    var str1 = imgSrcCon[k].substring(k1+1,k2);                    var w = str1.split("x")[0];                    var h = str1.split("x")[1];                    <!--<img width=-w height=-h src="/images/img/-uri"></img>-->                                                                /*动态创建img标签*/                        var imgs = document.createElement("img");                        imgs.width = "-w";                        imgs.height = "-h";                        imgs.src = "/images/img/-uri";                                                var d = document.getElementsByTagName("img=-wx-h");                        /*获取原来的伪img标签的父节点,并将创建好的img标签添加到父节点下*/                        d[0].parentNode.appendChild(imgs);                        /*删除伪img标签*/                        d[0].parentNode.removeChild(d[0]);                                    }            }else{                console.log(2222222222222222222222);            }        }    </script>

怎样在.ejs页面中调用fn()方法?


解决方案

已解决:
方法:

<%var imgSrcCon=strCon.match(/<img.*?>.*?<\/img>/g);%><script>    if("<%-imgSrcCon%>" != null){                    fn("<%-imgSrcCon%>");    }</script>

这个和js一样,直接在<script>标签里面调用、传递参数,它与下面的方法的不同之处在fn("<%-imgSrcCon%>");传递到方法,将得到一个字符串(但是实际上imgSrcCon是一个数组),还得将字符串处理为数组;而下面的方法可以直接使用数组。
下面是:没有将js代码与结构层分离的一种写法。

    <%-ques[i]['0']['content'].replace(/\[([^\[\]]*)\]/g, "<$1>")%>        <%var str = ques[i]['0']['content'].replace(/\[([^\[\]]*)\]/g, "<$1>");%>        <%function fn(){%>            <%var imgSrc=str.match(/<img.*?>.*?<\/img>/g);%>            <%if(imgSrc != null){%>                <%for(var k=0;k<imgSrc.length;k++){%>                    <%var k1 = imgSrc[k].indexOf("=");%>                    <%var k2 = imgSrc[k].indexOf(">");%>                    <%var k3 = imgSrc[k].indexOf("<",k2);%>                    <%var uri = imgSrc[k].substring(k2+1,k3);%>                    <%var str1 = imgSrc[k].substring(k1+1,k2);%>                    <%var w = str1.split("x")[0];%>                    <%var h = str1.split("x")[1];%>                <%}%>                        <img width=<%-w%> height=<%-h%> src="/images/img/<%-uri%>"></img>                <script>                    var d = document.getElementsByTagName("img=<%-w%>x<%-h%>");                    d[0].parentNode.removeChild(d[0]);                    </script>            <%}%>        <%}%

最后谢谢各位的帮助。