最轻巧的javascript模板函数

随着移动互联网的发展APP站点增加,ajax数据交互变得频繁起来,许多javascript 模板终于有了用武之地。

看过一些js模板引擎,引入很多语法,解析,使得模板字符串看上去更漂亮,更接近UI,去程序化是他们的目的。

两年前自己也写了一个js template函数在项目中使用,今天精简了一下语法,增加error report功能方便了模板解析出错时定位问题。

本着开源的精神,我把它放到了github上 https://github.com/fushanlang/js-template

以及 oschina开源库里

http://git.oschina.net/fushanlang/javascript-template

function js_template(t, v) { var a = “”; var echo = function (b) { a += b }; var z = window.AJ; window.AJ = z = !z ? [] : z; var s = “_{” + Math.random() + “}_”; var p = t.replace(/\n|\r|\t/g, . . . → Read More: 最轻巧的javascript模板函数

js图片上传本地预览兼容(IE7-8-9\firefox\chrome)

#preview{width:300px;height:300px;border:1px solid #000;overflow:hidden;} #imghead {filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=image);} #preview_size_fake{ /* 该对象只用来在IE下获得图片的原始尺寸,无其它用途 */ filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=image); width:300px; visibility:hidden; overflow: hidden; } function previewImage(file) { var MAXWIDTH = 300; var MAXHEIGHT = 300; var div = document.getElementById(‘preview’); if (file.files && file.files[0]) { div.innerHTML = ”; var img = document.getElementById(‘imghead’); img.onload = function(){ var rect = clacImgZoomParam(MAXWIDTH, MAXHEIGHT, img.offsetWidth, img.offsetHeight); img.width . . . → Read More: js图片上传本地预览兼容(IE7-8-9\firefox\chrome)

css expression应用-尽量不用

只有 IE 支持 CSS Expression,从IE8开始不再支持CSS Expression.

CSS Expression也称为CSS表达式,它是动态设置CSS属性的强大方法,但也存在着一定的危险性。

CSS Expression的问题就在于它的 计算频率要比想象的多出很多。不仅仅是在页面显示和缩放时,就是在页面滚动、乃至移动鼠标时都会要重新计算一次。给CSS Expression增加一个 计数器可以跟踪表达式的计算频率。在页面中随便移动鼠标都可以轻松达到10000次以上的计算量。所以它对客户端浏览器资源有比较高的要求,否则很容易让您的用户感觉打开你的页面,机器会变的很慢。

然而在 IE8 标准模式中,不再支持 CSS Expression。官方提供了以下几点原因:

为了更好的遵循标准 CSS Expression 为 IE 专有,不具备通用性; CSS Expression 常常用来修复或模拟某些 IE 不支持的 CSS 特性,如 ‘min-height’、’max-width’。这些均已被 IE8 所支持。 为了提高性能 表达式的计算需要耗费巨大的系统资源,Web 性能专家 Steve Sounders:recommend avoiding them to improve front-end performance。 为了降低浏览器被攻击的可能 由于它们暴露出了一个脚本执行环境,CSS Expression 就构成了一个可能的脚本注入攻击方向。

关于 动态属性 的更多内容,请参见 MSDN:About Dynamic Properties。

关于 微软官方结束对 . . . → Read More: css expression应用-尽量不用