Archive

Archive for the ‘Web design’ Category

javascript遍历数组的两种方法

December 7th, 2009

var aa=new Array(1,2,3,4);

var num1=aa.length;

第一种方法,用循环(利用数组下标)
for (var i=0;i<=num1-1;i++)
{
document.write(aa[i]+",");
}
第二种方法,当数组的下标是不规则的,只能用for ..in
同时还可以获取数组的键值,即i的值。

for (var i in aa)
{
document.write(aa[i]+",");

}

Web design ,

版本向量 使用css时正确区分IE版本

April 22nd, 2009

Windows Internet Explorer Web Windows Internet Explorer 8 版本向量是指的内部版本号,它存储在浏览器启动时读取的注册表项中。开发人员可以使用版本向量检测查看器正在使用哪个版本的浏览器查看网站。了解浏览器检测的最佳实践,可确保在客户端查看网站时,该网站继续按预期方式运行。

Windows Internet Explorer Web 此文档将介绍如何使用版本向量的值。此外,还提供一些示例代码,帮助开发人员实现和维护建议的浏览器检测方法。

Windows Internet Explorer 如何使用版本向量

->Windows Internet Explorer HTML Windows Internet Explorer 除在填充“帮助”“关于”部分时使用版本向量外,在处理条件注释时也使用此值。条件注释是页面的源代码中的注释块,只能由解释。注释可能包含一个或多个运算符、特征值或值。

Read more…

Web design

判断浏览器是否支持JavaScript和Cookies

March 21st, 2009

判断访问者的浏览器是否支持JavaScript和Cookies

许多网站需要客户端做许多复杂的工作,比如:用客户端 JavaScript 进行数据合法性校验,这需要客户浏览器的JavaScript enabled;使用 Session 变量记录身份等信息,需要浏览器 Cookies enabled。因此,有必要确定用户浏览器中的这些选项被打开。在我的网站中,我使用了一串简洁的代码实现这些功能,在用户登录时进行检查,如果不符合 就不让登录。在本文中,我就介绍一下这个login页面的写法。

我们首先用 JavaScript 建立一个 Cookie,然后检查 Cookie 是否存在。由于我们使用 JavaScript 进行这项操作,如果用户没有打开 JavaScript,但打开了 Cookies 的话,我们仍然会得到 Cookies 没打开的结果。但这与我们的要求并不冲突,反正我们是要求两者都打开的。(如果你确实只想知道 Cookies 是否 enabled,而不关心 JavaScript,也是有办法的,我们在另文中讨论)要确定用户是否打开 JavaScript,我在 html 中建立了一个隐藏 from,然后在 onload 事件中调一个 JavaScript 函数,改变该隐藏 form 的值,如果值被改变了,那就说明 JavaScript 是打开的,否则这个JavaScript 函数就不会被调用。(上面两个功能我写在一个函数中)
Read more…

Web design ,

纯div+css 弹出菜单

March 21st, 2009

一段纯css的网页菜单。
尚未亲自验证,收藏一下。

另外再小小的郁闷一下,现在怎么还有这么多HTML4.0.1的。唉
尤其是框架应用,要用xhtml1.0还真是麻烦。想让被包含的iframe百分百高度,还真麻烦。

Read more…

Web design

iframe的防插与强插的较量

February 26th, 2009

网上通用的防插那版是(子):

if(top.location != self.location){
top.location = self.location;
}

强插方案为(父):

var location=”";

其中这个location是对被赋值的top.location方法的覆盖,导致方法失效。

昨天又遇到另外一个版本(子):

if(window!=parent){
parent.navigate(location);
}

强插方案为(父): Read more…

Web design

CSS hack:区分IE6 IE7 和 firefox

February 23rd, 2009

区别IE6FF

background:orange;*background:blue;

区别IE6IE7
background:green !important;background:blue;

区别IE7与FF:
background:orange*background:green;

区别FFIE7IE6
background:orange;*background:green !important;*background:blue;

注:IE都能识别*;标准浏览器(如FF)不能识别*; IE6能识别*,但不能识别 !important, IE7能识别*,也能识别!important; FF不能识别*,但能识别!important

IE6 IE7 FireFox
* ×
!important ×

另外再补充一个,下划线”_“,

IE6支持下划线,IE7和firefox均不支持下划线。(推荐)

于是大家还可以这样来区分IE6IE7firefox
: background:orange;*background:green;_background:blue;

注:不管是什么方法,书写的顺序都是firefox的写在前面,IE7的写在中间,IE6的写在最后面。

Web design

使用MO文件制作语言包

February 5th, 2009

使用MO文件做语言包,可以很轻松实现语言包和皮肤分离。不像现在一套皮肤只能有一个语言包。

po和mo文件
PO 是 Portable Object (可移植对象)的缩写形式;
MO 是 Machine Object (机器对象) 的缩写形式。
PO 文件是面向翻译人员的、提取于源代码的一种资源文件。当软件升级的时候,通过使用 gettext 软件包处理 PO 文件,可以在一定程度上使翻译成果得以继承,减轻翻译人员的负担。MO 文件是面向计算机的、由 PO 文件通过 gettext 软件包编译而成的二进制文件。程序通过读取 MO 文件使自身的界面转换成用户使用的语言。

通常人们写程序时都是将文字写死在程序里的,比如:echo “Hello World!”; ,假如要改成它国语言,写国际化程序,就要逐个打开进行修改,程序较短时还行,若程序有上万甚至更多,改起来就不是那么容易了。近来随着i18n的逐渐标准化,我也来讲一讲在PHP中如何实现国际化支持。跟其他程序语言一样,在 PHP 也可以利用 gettext 套件写作 i18n 程序,实现 NLS(Native Language Support) 国际化支持,具体请参考官方文档( http://www.gnu.org/manual/gettext/index.html )。
实现流程:程序设计者在程序码中写入所要显示的信息,在运行程序时并不会直接显示程序设计师所写的信息,而会先去找一个所设置语系的信息档。如果未找到,才会去显示程式码中的信息。

一、安装设置gettext套件:
1) *NIX系统:
1、从 http://www.gnu.org/software/gettext/gettext.html 下载 gettext package,进行安装。
2、编译PHP的时候加上“–with-gettext[=DIR]”,其中DIR为gettext安装的目录,缺省为:/usr/local。
3、保存,然后 restart server。

2) WIN32系统:
1、需要将gnu_gettext.dll档拷贝到系统目录下面 (Ex: C:\WINNT\SYSTEM32 or C:\WINDOWS\SYSTEM32),PHP 4.2.3 之后文件名为 libintl-1.dll,可在 php4\dlls 下获得。
2、打开php.ini档,查找extension=php_gettext.dll,去掉前面的“;”。
3、保存,然后restart server。
若一切顺利,就可以在 phpinfo() 中看到 gettext 字样,至此已设置完毕。
Read more…

Web design , ,

使用SVN的一些帮助

December 15th, 2008

SourceForge开始全面支持Subversion,这真是个好消息,这预示着CVS独霸天下的时代快要结束,SVN时代就要来临。

和CVS比起来,SVN的确很强大,这就像它的出现就是为了取代CVS一样,它的目标快要实现了。

具体的功能特性大家可以上Subversion官方网站查看,这里没必要给出那段生涩不好翻译的英语短句了。

官方中文网站在这儿,不过这个站的网络通讯太差劲了,一个礼拜5天都上不去:(

欣慰的是这里有个网站提供一本免费的、非常棒的SVN图书,可以选择在线查看或者下载PDF,有中文版哦,SVN使用者必读。

如果你对SVN还是表示怀疑可以在这里查看国外网友写的一篇各个版本控制系统功能比较的文章,相信看过后你不会再对SVN表示怀疑了。

英文看不懂?幸好,有网友将那篇生涩的英文SVN特性用生涩的中文表述出来了 ,中文英文对照着看,凑合着还行。

冲动的你这时已经手痒痒的想尝试下SVN的魅力,但苦于现在的项目已经建立在CVS上。别担心,这里正好有一篇文章介绍如何将CVS的Repository转换成SNV,转换方法来自这个程序http://cvs2svn.tigris.org/

如何使用SVN我这里不再介绍,官方的那本书是最好的教程,网上还有大量的安装和使用的文章可以借鉴,这里简单罗列几个SVN辅助的软件:

1、SubVersion,从 http://subversion.tigris.org/ 下载,是实现服务系统的软件,必装的。

2、TortoiseSVN,从 http://tortoisesvn.tigris.org/ 下载,是很不错的SVN客户端程序,为windows外壳程序集成到windows资源管理器和文件管理系统的Subversion客户端,用起来很方便,commit动作变得就像Winrar右键压缩一样方便。

3、SVNService.exe,从 http://dark.clansoft.dk/~mbn/svnservice/ 下载,是专为 SubVersion 开发的一个用来作为 Win32 服务挂接的入口程序。

4、AnkhSVN,从http://ankhsvn.tigris.org/下载,这是一个专为Visual Studio提供SVN的插件。

5、Subversive,从http://www.polarion.org/p_subversive.php下载,这时一个为Eclipse提供SVN的插件,据说已经和Eclipse自带的CVS功能有一拼。

6、还有很多很多SVN相关的工具以及使用TIP介绍,大家可以上官方的相关链接页面中查看,地址:http://subversion.tigris.org/links.html

Web design , , ,

用IETester实现IE6,IE7,IE8等多IE版本共存

December 13th, 2008

最近因为要调试一个打印页面,在各个浏览器下的不同表现,所以要测试在多个浏览器之间的不同表现。于是找到了这款软件,能过这款软件,可以实现多个IE版本共存。当然,有中文语言包哟。

IETester是一个免费的浏览器,通过渲染和javascript引擎,能展现IE8 beta 2, IE7 IE 6 and IE5.5在同一个浏览器中。方便页面设计者的调试。可运行于windows xp和Vista系统中。

您可以在下面的地址下载,现在的最新版本是2.3

http://www.my-debugbar.com/wiki/IETester/HomePage

在这里下载语言包文件http://www.my-debugbar.com/wiki/IETester/Languages

ietester

不过我安装完成后,它默认已经有多种语言包了。当然,也包括中文。而且,下载下来的单独的语言包,要比安装时带的语言包文件要小,估计网站上的语言包文件没有更新,而安装程序中的语言包却是更新了的。

经测试,windows xp需要安装IE7 才能现所有浏览器版本的模似。否则,只有IE5.5和IE6

Web design, 小娱一乐 , , ,

Eclipse 解释

December 3rd, 2008

Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Tools,JDT)。

虽然大多数用户很乐于将 Eclipse 当作 Java IDE 来使用,但 Eclipse 的目标不仅限于此。Eclipse 还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展 Eclipse 的软件开发人员,因为它允许他们构建与 Eclipse 环境无缝集成的工具。由于 Eclipse 中的每样东西都是插件,对于给 Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。

这种平等和 一致性并不仅限于 Java 开发工具。尽管 Eclipse 是使用 Java 语言开发的,但它的用途并不限于 Java 语言;例如,支持诸如 C/C++、COBOL 和 Eiffel 等编程语言的插件已经可用,或预计会推出。Eclipse 框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统。

基于 Eclipse 的应用程序的突出例子是 IBM 的 WebSphere Studio Workbench,它构成了 IBM Java 开发工具系列的基础。例如,WebSphere Studio Application Developer 添加了对 JSP、servlet、EJB、XML、Web 服务和数据库访问的支持。

Read more…

Web design