搜索
javascript - web qq的一段代码请教
怪我咯
怪我咯 2017-04-10 12:41:18
[JavaScript讨论组]
<script id="skinTemplate" type="text/plain">

.text,a.text {
    color: <%=window.textColor%>;
}

.window_current .text,.window_current a.text {
color: <%=currentWindow.textColor%>;
}

.titleText, a.titleText {
color: <%=window.titleColor%>;
font-weight: <%=window.titleFontWeight%>;
}

.window_current .titleText,.window_current a.titleText {
color: <%=currentWindow.titleColor%>;
}

</script>

这段代码应该是CSS代码,但是是写在script内的,且使用了<%=***%>的赋值,它是如何获取值并转化为页面的CSS的?

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(3)
阿神

你可以参考jquery的template相关函数实现,是完全一个道理。<script>在html里默认的不可见元素,你可以把它看成一个普通的dom元素,在用document.getElementById('skinTemplate').innerHTML获取它的内容后,将里面的<%=...%>用正则替换成相应的值,然后将它set到一个style元素里,最后append到body里去。

ringa_lee

这是一段模板引擎的模板, javascript根据ID取到这段模板的内容,就是上面<script>标签里的内容。
然后根据预设的变量去渲染模板,就是上面中的内容,渲染成常量。
至于是用作CSS还是普通的HTML,没人规定这个,看你需求,渲染完直接写到页面里。

ringa_lee

type="text/plain"
这个是关键

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号