Loading...

fckeditor 的php调用和自定义文件上传

Filed under: HTML客户端,网站技术 — 江东 @ 2010-01-22 17:14:25 才(7)条评论

相比tiny TinyMCE 我还是更喜欢 fckeditor (不是fuck editor),原因有三:

  1. 最早接触的是fckeditor,那个时候tinyMCE好像是收费的(不知道有没有记错),而且fckeditor一直都比较丰富;
  2. fckeditor的文档似乎更加完善;
  3. 不喜欢tinyMCE的弹出窗口的体验,更喜欢fckeditor的div浮动方式,特别是查看源代码的时候。

于是,最近自己在做自己公司的站点,后台就采用了fckeditor,在此期间也遇到一些问题,特此记录。 (read on …)

分享一段基于jQuery的表单验证的javascript

Filed under: HTML客户端,网站技术 — 江东 @ 2009-03-18 14:32:13 才(4)条评论

有jQuery,一切都好办了,因为用它可以方便的定位到html中的任何一个节点,下面一段代码是cosbeta用于表单验证的javascript脚本:

首先引入jQuery库

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script>

然后编写验证表单的函数

(read on …)

javascript and HttpOnly cookies

Filed under: HTML客户端,网站技术 — 江东 @ 2008-12-20 16:42:41 才(2)条评论

对于很多只依赖于cookie验证的网站来说,HttpOnly cookies是一个很好的解决方案,在支持HttpOnly cookies的浏览器中(IE6以上,FF3.0以上),javascript是无法读取和修改HttpOnly cookies,或许这样可让网站用户验证更加安全。

wikipedia中对于httpOnly的描述如下:

`HttpOnly’:

Set-Cookie: RMID=732423sdfs73242; expires=Fri, 31-Dec-2010 23:59:59 GMT; path=/; domain=.example.net; HttpOnly

When the browser receives such a cookie, it is supposed to use it as usual in the following HTTP exchanges, but not to make it visible to client-side scripts.[21] The `HttpOnly` flag is not part of any standard, and is not implemented in all browsers. Note that there is currently no prevention of reading or writing the session cookie via a XMLHTTPRequest.[36]

所以,若是网站基于cookie而非服务器端的验证,请最好加上HttpOnly,当然,目前这个属性还不属于任何一个标准,也不是所有的浏览器支持,另外知名的wordpress程序也已经更改了cookie的属性为httpOnly。

javascript无法读取HttpOnly cookies,若想在js中获取cookie的属性该如何处理呢?

cosbeta也没有什么比较好的办法,所以只有告诉大家都绝招:还得动用服务器端脚本读出cookie,然后用输出js代码,或者用ajax去获取服务器端程序读出的cookie值。

于是cos-html-cache因此升级了。

Jquery树形菜单的实现

Filed under: HTML客户端,网站技术 — 江东 @ 2008-09-03 20:01:16 才(7)条评论

jQuey这个东西很好很强大,用jQuery操作DOM简直是易如反掌。这不,刚才icemapro小弟给我留言,希望我能写一个jQuery的树形菜单,在强大的就Query的帮助下,仅仅花了大约10分钟就完成了,其中还有大约7分钟在考虑css的问题,所以熟悉jquery可是对你很有帮助的哦,废话不多说,下面发布代码,讲解方式依然在注释中体现:
菜单的html代码如下,你可以根据需要进行扩展:


我想上面的html代码应该不用解释了吧,否则这篇文章你也没有看得必要了哈,下面是css的实现,其实css是最难搞的,目前搞定是实现目录式树形,其他树状也是很简单的,无非就是改变一下css

a:link,a:visited{font-size:12px;
color:#094477;text-decoration:none;
}
a:link:hover,a:visited:hover{
color:#000cf;text-decoration:underline;
}
ul.folder{padding:0;margin:0;list-style:none;/*重置ul的margin和padding,否则打死都无法兼容FF和IE*/}
li.folder{
background:#fff url(folderbg.png) no-repeat 0 0;padding:0px 0 0px 14px;
margin:0 2px;
text-indent:20px;
/*folder背景,目前放到是windows目录背景,如果是其他树形,用其他背景图片替代即可*/
}
li.folder-op{background:#fff url(folderbg-op.png) no-repeat 0 0;}
.disnone{
display:none;
}/*这是一个公共的css class,表示隐藏该元素*/

下面开始介绍重点,那就是js的实现,可能这个重点会让你失望,毕竟代码才那么简单的几行,当然在运用jquery之前肯定是要引入jquery库文件的,本例子中直接引用的本blog(生活点滴)中的jquery库:

下面是js代码,解释依然在注释中:
function Exp(obj){
var html_element = $(obj).parent('.folder');/*获取当前点击的父dom,在本例子中获取的dom节点将是 “第一级目录所在的li.folder”*/
var sub_element = $(html_element).children(".folder"); ;/*根据当前的父dom,获取本级的子dom*/
if( html_element.attr('class').indexOf('folder-op') != -1 ){
/*css class .folder-op表示当前已经展开的类,如果展开,则前面的+背景变成-背景,具体可以在后面的例子中看到
如果class中含有该类,则表示当前已经展开,所以下面的两行的任务是:1.隐藏该目录,2.remove掉此css class
*/
html_element.removeClass('folder-op');
sub_element.hide();
}
else{
/*否则,添加表示目录已经展开的类,展示该目录*/
html_element.addClass('folder-op');
sub_element.show(500);
}
}

对,对于js就只需要上面的几行,太简单了,对吧,下面是例子: (read on …)

javascript初级教程2:操作文档对象

Filed under: HTML客户端,网站技术 — 江东 @ 2008-07-17 20:22:05 才(4)条评论

传说在很久很久以前,我打算写一下javascript入门到文章,结果仅仅在开了一个头之后便忘记续写了。今天晚上,忘记把电池带回家了,做不了其他事情,于是乎抓紧时间补上后续的教程。

在上次的日志中,我谈到这样一个看法:服务器端程序是负责输出文本,也包括输出javascript,而javascript则是负责操作浏览器。今天我就大致的说一说javascript是如何操作浏览器的。在javascript中,我们可以将一切都看作对象(各位看官,别看见对象就害怕,其实js的这个对象没有那么恐怖)。首先我们来举一个通俗的例子,比如我们想叫一个小妹妹把一个饭碗举起来,用javascript可以这样表达:

人.女人.小妹妹.右手.捧起(饭碗)。

我们看看这代代码,首先找到对象人.然后引用人的成员.女人,最后定位到右手,引用函数“捧起”,参数就是饭碗了。

好了,所以,你知道了一些常见的对象表述,便可以灵活的运用js来操作了。下面介绍一下常用的操作:
alert('hi');//警示消息,内容是"hi",当然hi也可以是其他变量
window.close();//关闭窗口
document.getElementById("my-id").value = "123";//给id="my-id"这个元素赋值 .value只对表单有效
document.getElementById("my-id").innerHTML = "123";//如果 id元素是html区域,如div span li等等
document.getElementById("my-id").innerHTML = "这里也可以是html代码";

是不是很简单呢,注意上面代码中大小写不能错误!

今天就写这么简单的几行,因为电池快用尽了,其实知道对象操作的基本思想之后,你甚至可以直接用javascript框架了。

分享一个基于jQuery的表单验证函数

Filed under: 网站技术 — 江东 @ 2008-07-11 20:25:57 才(3)条评论

今天晚上在做某个项目,由于需要表单验证,因此自己就花了点时间写了一个基于jQuery的表单验证的函数,当然下面的这个函数大家可以当作成品使用,如你熟悉jQuery的话,你还可以直接将函数绑定在表单上。

当然仅仅是简单的分享,所以有朋友肯定还嫌不够,需要了解一下原理,那么下面开始介绍原理:

首先,表单得按照特定的方式输入,这样js才能按照一定的格式去遍历元素,那么在本例子中,格式如下:



姓名:



不能为空
学号:

必须为数字
E-mail:

email格式不正确
不需要验证

email格式不正确

(read on …)

”javascript 尚未实现“错误解决办法

Filed under: HTML客户端,网站技术 — 江东 @ 2008-04-24 10:56:27 才(4)条评论

被该死的IE给搞惨了,耽误了很多时间,实在不划算。打开页面的时候,FF下一切正常,但是当我用IE6测试的时候,JS总执行不下去了,提示“尚未实现”,无论怎么搞就搞不定。在firebug中也没有看到任何错误提示。打开IE就遇到该死的“尚未实现错误”,根据IE中提示的位置找过去也没有发现任何错误,看来IE的报错定位也不太准确。万般无奈之下,google搜索,终于找到了错误所在的地方。原来错误在于window.onload= myFunc(var1,var2);IE的window.onload函数中不支持参数调用,虽然函数会照样执行,但是却会出现报错,影响后续脚本的继续执行,下面是两种简单而有用的解决办法:

  1. 再写一个函数,譬如function loadFunc(){ myFunc(var1,var2) },然后window.onload = loadFunc;
  2. 使用匿名函数。onload =function(){myFunc(var1,var2)}

足够了,就这两种方法。

让广告远离朋友

Filed under: HTML客户端,网站技术 — 江东 @ 2007-12-28 09:27:39 才(8)条评论

在blog里面放点google广告,偶尔有那么几刀的收入也是很不错的,不过牛皮癣似的的广告可不是一个友好的显示方式,所以我一直都在对blog中的广告进行优化再优化,希望能做到更加和谐。今天,我做了一个重大的改动,那就是对于老访客,blog中的广告一律不再显示。

如果稍微熟悉一点js,实现这个效果一点都不困难,肯定有人也这样做过。我这里简单的说一下原理和实现方法。我们根据是否曾经留言来判断当前的访问用户是新用户还是老用户,当然这样可能不准确,因为凡是潜水的老用户都会被当作新用户。在wordpress中,访客留言之后都会自动生成一个cookie,用来记录当前留言者的信息,所以我们可以在js脚本文件中判断cookie是否存在,如果存在则隐藏掉广告,否则则显示之,下面是代码介绍。 (read on …)