gpt4 book ai didi

javascript - John Resig Micro 模板错误

转载 作者:行者123 更新时间:2023-11-28 01:23:38 25 4
gpt4 key购买 nike

所以我的目标是使用John Resig's templating engine .

我需要向函数传递一个包含"template"的变量。然而,问题是我需要传递类似的东西:

<script>
console.log("Double quotes");
</script>
<script>
console.log('single');
</script>
<iframe src="http://example.com/?<%=SOME_VARIABLE%>" frameborder="0"></iframe>
<div>I think I'm going to break</div>
<% for ( var i = 0; i < users.length; i++ ) { %>
<li><a href="<%=users[i]%>"><%=users[i]%></a></li>
<% } %>
<iframe src='http://example.com/?<%=SOME_VARIABLE%>' frameborder="0"></iframe>
<div>I think I"m going to break</div>
<% for ( var i = 0; i < users.length; i++ ) { %>
<li><a href='<%=users[i]%>'><%=users[i]%></a></li>
<% } %>

似乎破坏的是:

<script>
console.log('single');
</script>

通过正则表达式传递这段代码会失败。重要的是我能够通过上述任何代码并且不破坏它。有什么想法吗?

最佳答案

所以我发现这篇文章对此进行了修复(还将 <% %> 更改为 <# #> FYI

str.replace(/[\r\t\n]/g, " ")
.replace(/'(?=[^#]*#>)/g, "\t")
.split("'").join("\\'")
.split("\t").join("'")
.replace(/<#=(.+?)#>/g, "',$1,'")
.split("<#").join("');")
.split("#>").join("p.push('")
+ "');}return p.join('');";

http://weblog.west-wind.com/posts/2008/Oct/13/Client-Templating-with-jQuery

关于javascript - John Resig Micro 模板错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22994556/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com