两个StringTemplate小插件

下载地址:Plugins.StringTemplate.dll

AdvancedDateTimeRender 日期格式化插件

UrlEncodeRender 把字符串进行URL Encode的插件

文档:StringTemplate 格式化插件.pdf

不定期更新。

百度统计

流量统计网站有难了

百度推出免费流量统计工具一:百度统计,马上去看看

站长们应该都有这样的经验:使用Google和Adsence和统计工具,有时Google服务中断(出于各种原因),于是我们的网站也不正常起来;使用免费的流量统计工具,有时提供工具的服务器当机或访问速度慢,我们的网站打开速度也受影响。

而百度,目前没有这个问题。有什么网站比百度更快的?有什么网站比百度更稳定的?呵呵,所以说提供流量统计服务的网站有难了。

tongji-baidu-report.jpg

可定制发送各种不同的报告到指定邮箱。

使用XPath过滤XML文档

XPath语法:http://msdn.microsoft.com/zh-cn/library/ms256471%28v=VS.80%29.aspx

应用场景:

使用XmlDataSource读取一个Xml文件当作数据源,使用XPath属性,可以对数据源进行过滤。

示例代码:

string Channels = "apple,pair,rice,girls";
        string xpath = "";
        string[] channelsAry = Channels.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
        for(int i = 0; i < channelsAry.Length; i++)
        {
            channelsAry[i] = "@id='" + channelsAry[i] + "'";
        }
        xpath = string.Join(" or ", channelsAry);
        XmlDataSource1.XPath = "/adminmenu/rootmenu[" + xpath + "]";
        XmlDataSource1.DataBind();

如此一来,可以不用把XML转换为list再进行过滤了。方便许多。

JavaScript与Image加载事件(onload)、加载装态(complete)

以前写过一个图片等比缩放的Js函数,缺陷是要等到所有图片都加载完毕了,才能进行等比缩放。昨天用jquery插件aeImageResize,发现它更有优势:每张图片加载完后,会马上进行等比缩放。这与图片对象Image的加载事件onload的功劳。

察看插件的源码,发现它也依赖图片对象的complete属性和onload事件。并且特别把IE6区分对待。到底IE6在图片加载对象上,与其它浏览器有什么不同呢?看下文:

通过js操纵DOM很多情况下都是为了实现和当前页html元素的异步载入,我谈谈对Image对象的一些认识。
看个例子:
<input type="button" name="" value="载入图片" onclick="addImg('tt.jpg')" />
<script type="text/javascript">
<!--
    function addImg(isrc)
    {
        var Img = new Image();
        Img.src = isrc;
        Img.onload = function ()
        {
              document.body.appendChild(Img);
        }
    }
//-->
</script>
当包含上述代码的页面打开时并不载入 “tt.jpg” ,当点击按钮时候才载入。当载入完成后触发onload事件显示到页面上。如果你是第一次加载 “tt.jpg" 这张图片的话,运行正常。点击按钮加载并显示一张图片,如果重复点击会怎么样呢?
IE、Opera中,除了第一次加载 图片时候显示正常,之后再点击就没有反应了,刷新也一样。难道它们只触发一次 ”onload“ 事件?是缓存机制?
FF、Chrom中,每点击一次加载一张该图片。

稍微修改下:
<input type="button" name="" value="载入图片" onclick="addImg('tt.jpg')" />
<script type="text/javascript">
<!--
    function addImg(isrc)
    {
        var Img = new Image();
        Img.onload = function ()
        {
              document.body.appendChild(Img);
        }
        Img.src = isrc;
    }
//-->
</script>
运行后发现,奇怪的事情发生了。所有的浏览器都一致了,都是每点击一次加载一张图片。这又是什么原因?由此可以见 IE、Opera 执行过程中并不是只触发一次 onload 事件!

联想一下 Image 对象的一些属性看看,complete、readyState(IE专属值[uninitialized,complete]) (为防止缓存影响效果请更换图片名称!)
<input type="button" name="" value="complete" onclick='alert("complete : "+Img.complete +"\nreadyState : "+Img.readyState)' />
<input type="button" name="" value="载入图片" onclick="addImg('mtm.jpg')" />
<script type="text/javascript">
<!--
    var Img;
    function addImg(isrc)
    {
        Img = new Image();
        //Img.src = isrc;
        Img.onload = function ()
        {
            alert("complete : "+Img.complete +"\nreadyState : "+Img.readyState)
            document.body.appendChild(Img);
        }
        Img.src = isrc;
    }
//-->
</script>
经过以上测试,可以看出一些不同点,对于 complete 属性来讲,IE是根据图片是否显示过来判断,就是说当加载的图片显示出来后,complete 属性的值才为 true ,否则一直是 false ,和以前是否加载过该张图片没有关系,即和缓存没有关系!但是其它浏览器表现出来的确不一样,只要以前加载过该图,浏览器有缓存,complete 就为 true ,这和IE的 readyState 属性的表现一致!
至此,可以肯定的是所有的浏览器都会缓存图片!可是上面的问题到底是什么原因导致的呢?
众所周知,从缓存里加载东西的速度是很快的,那么在
...
Img.src = isrc;
Img.onload = ...
...
的过程中,难道 IE、Opera 加载的速度快到,来不及追加事件?

这回加载一张根本不存在的图片看看效果:
<input type="button" name="" value="complete" onclick='alert("complete : "+Imgttmt.complete +"\nreadyState : "+Imgttmt.readyState)' />
<input type="button" name="" value="载入图片" onclick="addImg('mtmttyt.jpg')" />
<script type="text/javascript">
<!--
    var Imgttmt;
    function addImg(isrc)
    {
        Imgttmt = new Image();
        Imgttmt.src = isrc;
        alert("complete : "+Imgttmt.complete +"\nreadyState : "+Imgttmt.readyState)
        Imgttmt.onload = function ()
        {
            alert("impossible")
        }
    }
//-->
</script>
可以肯定的是所有浏览器都不触发 onload 事件。从是否缓存或已经加载过图片的角度讲,IE、Opera表现正常,complete 始终为 false ;IE的 readyState 始终为uninitialized 。令人疑惑的是FF,其中 Imgttmt.complete 的值一直是 true ;更令人困惑的是 Chrom,它是在最初 new Imgttmt() 的时候 Imgttmt.complete 值为 false。而之后 Imgttmt.complete 值就一直为 true 了!如果换一张从来没有加载过的图片,FF和Chrom 的行为就一致了,都是一开始加载时, Imgttmt.complete 值为false, 之后为 true!

测试的过程中还发现,脚本的执行顺序的确会影响到类似于 onload 等事件的追加,如果在其显示后在追加事件就没有什么实际意义了!基于 javascript 这种解释性语言的特性,在追加事件的时候一定要注意把事件追加在触发该事件的句柄之前。

资料来源:http://hi.baidu.com/mataofq/blog/item/5675ee24da5d4d6935a80f66.html

IE6中莫名其妙地多出一行文字:IE6注释BUG

IE6中,一行文本被自动地复制一部分,并显示在其下边。

出现这个问题的条件:

通常,一个容器包含2两个具有“float”样式的子容器。 第二个容器的宽度大于父容器的宽度,或者父容器宽度减去第二个容器宽度的值小于3。 在第二个容器前存在注释(这也是为什么此bug也叫做“IE6注释bug”的原因)。

说明:注释造成文字溢出是IE的BUG,注释造成文字溢出与其位置有关,注释造成文字溢出与文字区块的固定宽度有关,溢出文字的字数=注释的条数*2-1,这里的字数在中文或英文数字时都成立。

这是注释bug,经典的iebug。

  说明:注释造成文字溢出是IE的BUG,注释造成文字溢出与其位置有关,注释造成文字溢出与文字区块的固定宽度有关,溢出文字的字数=注释的条数*2-1,这里的字数在中文或英文数字时都成立。

  当溢出的文字字数大于文本的字数时,文字区块将会消失。

  解决方法:

  1、不放置注释。最简单、最快捷的解决方法,嘿嘿……

   另一解决方法是:
   将注释
   <!--头部文件-->
   改写成
   <!--[if !IE]>头部文件<![endif]-->
   这样的形式。

  2、注释不要放置于2个浮动的区块之间。

  3、将文字区块包含在新的<div></div>之间,如:<divstyle="float:right; width:400px"><div>↓这就是多出来的那只猪</div></div>。

  4、去除文字区块的固定宽度,与3有相似之处。

  另外一种解决方法:

  在浮动之后的最后一个DIV后面再多一个DIV,什么属性都不需要加,只要一句clear:both;也可.在需要兼容多种浏览器的情况下,可加上属性font-size:0; height:0; overflow:hidden;如:
  <div style="clear:both; font-size:0; height:0; overflow:hidden"></div>

各种各样的Linq Provider

LINQ Providers

WebService添加注释给最终用户看的方法

使用方法前面的[WebMethod()]语法来实现。WebMethod(params)可以设置命名参数有6个,如图:

WebMethod.jpg

其中,Description就是给用户端看的注释。例如:

       /// <summary>
       /// 添加方法,添加一个实例到数据库
        /// </summary>
       /// <param name="theme"></param>
       /// <returns></returns>
       [WebMethod(EnableSession = true, Description = "编辑业务对象")]
       public int AddSysTheme(SysTheme theme)
       {
           DataBase.SysTheme dataSysTheme = ConvertToDataSysTheme(theme);
           osdb.SysTheme.InsertOnSubmit(dataSysTheme);
           osdb.SubmitChanges();
           return dataSysTheme.ThemeID;
       }

jQuery图片等比缩放调整插件:

图片加载完成自动等比缩放到指定大小的插件。地址:http://plugins.jquery.com/project/aeImageResize

淘宝首页的JS版幻灯片:Oslide

是一个jquery插件。地址:http://www.btorange.com/2010/04/20/oslide.html

最近在寻找合适的幻灯片,这个相当满意。

源网页的demo下载回来不知道怎么用,重新从在线版整理了一个。demo下载

jquery缓动插件:easing

jquery缓动插件:easing

http://gsgd.co.uk/sandbox/jquery/easing/

公告栏

  • 姓名:林剑锋(不见不散)
  • 来自:中国-广州
  • 简介:潮汕人,出生于广东揭西。醉心于Web开发8年,挑战了一年整体策划和网站运营。目前就职于平成混媒IT部。
  • Email/QQ:admin@ljf.cn

QQ群:设计学院 68075618,网站设计师 9908776

统计

文章:335篇
评论:163条 (2条Spam)
相册:1个 (120张图片)
主题:Nagrand新主题

www.ljf.cn网站PR查询