gpt4 book ai didi

javascript - 如何使 Resig 的微模板与 XHTML 兼容?

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:56:07 26 4
gpt4 key购买 nike

我一直在试验 John Resig's micro-template ,效果很好。但是,标记不会通过 XHTML 1.0 Transitional 验证测试。 (除其他事项外,id 属性会产生错误。)

用 [[,]] 替换标签标识符 <, > 通过验证。因此,我创建了一个 js 脚本,它在加载时(准备好 jQuery 文档)将方括号转换回常规标记。这在 FF 中工作正常,但在 IE、Chrome 等中无效。

嵌入在 CDATA 标签中的脚本也会进行验证。

问题:有没有办法在脚本中插入微模板并仍然通过 XHTML 验证?我的想法是在页面加载后删除 CDATA 标签。但可能有更聪明的方法。 (注意:我不希望通过 js 注入(inject) HTML,因为标记很难维护。)

PS:我查看了其他 js 模板,但它们要么不兼容 XHTML,要么过于庞大。

任何提示的 TIA。

最佳答案

为什么你要费心去改变所有使用微模板的方法,而不是改变微模板本身?以某种方式加载所有内容,然后更改所有内容以使其与脚本兼容,这似乎是浪费处理。

为什么不修改原来的脚本来使用[[标签而不是 <%最初提供的标签?

这是它识别模板的方式

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

现在更改 <%[[>%]]

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

关于javascript - 如何使 Resig 的微模板与 XHTML 兼容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1044422/

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