余乾隆 - 个人博客

博主心情

关于博主

年龄非二八
也没啥文化
平生爱小说
还有看漫画
忙时做做事
闲时编编码
人生自逍遥
哪管它天塌!

RSS Feed

rss feed

PHP判断多维数组是否为空

yuql 2011-06-22 10:46:05 发表于 前端技术 分类分享到QQ空间

这两天遇到一个问题,公司从JAVA的接口处获取数据不是一般的慢,导致PHP这边获取数据时,总是超过3秒的时间限制。导致没有获取到相关数据。
而公司MVC框架的缓存也很不给力,获取到为空的数据时,也照样缓存。
为了避免缓存到数据为空的页面,封了一个函数,判断是否要进行缓存。
代码如下:
//判断是否生成缓存
function needCache($data)
{
    $isNeedCache = false;
    if (is_string($data))//字符串
    {
        $isNeedCache = empty($data) ? false : true;
    }
    if (is_array($data) && !empty($data))
    {
        $tmpData = array_filter($data);
        $isNeedCache = empty($tmpData) ? false : true;//一维数组判断
        if($isNeedCache && is_array($tmpData))
        {//多维数组
            $isNeedCache = false;
            foreach ($tmpData as $key=>$val)
            {
                

JS使用innerHTML获取元素内容

yuql 2011-03-15 17:36:43 发表于 前端技术 分类分享到QQ空间

前段时间使用javascript的innerHTML获取元素内容,发现一个问题。
代码如下:
var html =  
document.getElementById('goods_img_gallery').innerHTML;
html.replace('id="goods_img_gallery_big"',
'id="goods_img_gallery_big_big"');
却意外发现,在火狐FF下,正常替换。而在IE6下,却替换失败。

将获取到的html打印出来看,发现IE6中获取的id属性,是未带双引号的。导致替换失败!

需改为正则替换:

var html =  
document.getElementById('goods_img_gallery').innerHTML;
html.replace(/id="?goods_img_gallery_big"?/,
'id="goods_img_gallery_big_big"');
特此记录.

[看小说必备]TXT自动生成目录工具

yuql 2010-11-26 11:34:15 发表于 前端技术 分类分享到QQ空间

小说网站上的下载,一般分为TXT,CHM,UMD几种格式。
CHM格式,通过查看另存源文件的方式,也可以做成HTML来看。但通常都只有公共章节。
UMD格式,一般用在手机上看,就不说了。
TXT格式,一般都会有一些手打的章节在里面,问题在于,TXT格式没有章节目录。
第二次看的时候,不方便快速找到上次看的位置。

因此,做了一个小工具,把TXT的章节目录匹配出来,并生成HTML文件。
PS:使用HTA做的,小巧、开源。呵呵。

附上图片和下载地址:
TXT自动生成目录工具截图

TXT自动生成目录工具下载

W3C验证总结

yuql 2010-11-09 09:33:51 发表于 前端技术 分类分享到QQ空间

一、参考资料

W3School在线教程:http://www.w3school.com.cn/

验证站点:http://validator.w3.org/

网站通不过W3C验证十大原因:http://www.megong.com/2009/0416/636.html

二、mostubying问题实例(注意标黄的地方)
1、JS代码如果写在.dwt、.lbi文件里,则最好加上<![CDATA[]]>,指明不需验证JS代码。代码语言类型应写成type,而非language.
//错误:
<script language="javascript">
//JS代码
</script>

//正确:
<script type="text/javascript">
//<![CDATA[
//JS代码
//]]>
</script>

2、注意元素之间嵌套,行内元素不能嵌套块级元素。
//错误:
<span>
<div></div>
</span>

//正确:
<div>
<span></span>
</div>

//错误:
<ul>
    <li></li><div class=”clear”></div>
    <li></li><input type=”hidden” name=”test”/>
<ul>
 

//正确:
<ul>
    <li></li>
    <li></li>
<ul>
<div class=”clear”></div>

//错误:

<h2><p&

CSS3.0参考手册

yuql 2010-10-14 17:22:06 发表于 前端技术 分类分享到QQ空间

CSS3.0参考手册和教程下载
CSS3.0完全参考手册

尽管CSS3的诸多新特性还不被很多浏览器支持,或者说支持的不好。但作为一个前端开发人员,你总不能等到所有浏览器都完美支持它的时候再去学习。

CSS3到底给我们带来了哪些新特性呢?简单的说,CSS3把很多以前需要使用图片和脚本来实现的效果,只需要短短几行代码就能搞定。比如圆角,图片边框,文字阴影和盒阴影等。CSS3不仅能简化前端开发工作人员的设计过程,还能加快页面载入速度。

使用浏览器专有属性

为了使用大部分CSS3特性,我们不得不与原来的属性一起使用生产商专有扩展。原因是直到现在,大部分浏览器只支持部分CSS3属性。而且不幸的是,一些属性甚至到最后都可能不被W3C推荐,所以通过指定浏览器专有属性,将他们与标准属性区分开来是很重要的(然后在他们是多余的的时候使用符合标准的样式将之覆盖)。

当然,这种方法的劣势是,将导致一个杂乱的样式表和网站在浏览器之间的表现不一致。毕竟,我们不想在我们的样式表中重拾私有浏览器hack的需求。 Internet Explorer的臭名昭著的marquee、blink以及其它标签在大量样式表中被应用,并在20世纪九十年代成为一个传奇;它们依然让现存的很多网 站(在其他浏览器中)表现不一致甚至难以阅读。而我们现在也不想将我们自己置于同样的境地,对吧?

然而,网站不需要在所有的浏览器中看起来必须严格的一致。有的时候在某个浏览器中使用私有属性来实现特定的效果是可行的。

最常见的私有属性是用于Webkit核心浏览器的(比如, Safari), 它们以-webkit-开始,以及Gecko核心的浏览器(比如, firefox),以-moz-开始,还有Konqueror (-khtml-)、Opera (-o-) 以及Internet Explorer (-ms-)都有它们自己的属性扩展(目前只有IE8支持-ms-前缀)作为专业的设计师,我们不得不注意:使用这些私有属性将让我们的样式表不能通过验证。

所以目前将他们放到最终版的样式中是少见的。但是在某种情况下,比如试验或学习,我们至少可以考虑将他们和标准的CSS属性一起写到一个样式表中。

高性能网站建设14规则

yuql 2010-09-26 10:25:45 发表于 前端技术 分类分享到QQ空间

规则1——减少HTTP请求
规则2——实用内容发布网络
规则3——添加Expires头
规则4——压缩组件
规则5——将样式表放在顶部
规则6——将脚本放在底部
规则7——避免CSS表达式
规则8——使用外部和CSS
规则9——减少DNS查找
规则10——精简JavaScript
规则11——避免重定向
规则12——移出重复脚本
规则13——配置ETag
规则14——使AJAX可缓存

区分所有主流浏览器的CSS HACK

yuql 2010-09-15 13:07:23 发表于 前端技术 分类分享到QQ空间

区分(IE6/7/8/Chrome/Firefox/Safari/Opera)其中FF表示Firefox,Ch表示Chrome,OP表示Opera,SA表示Safari。
<style>
.test{
color:#000000;                  /* 区别出FF,OP,所有浏览器能识别*/
[;color:#00FF00;      /* 区别出SF,CH,只有它们能识别*/
color:#0000FF9;       /* 区别出IE8,只有IE6/7/8能识别*/
*color:#FFFF00;                 /* 区别出IE7,只有IE6/7能识别 */
_color:#FF0000;              /* 区别出IE6 ,只有IE6能识别*/
}
</style>