CKEditor安装和使用

CKEditor是一款可嵌入到网页中的所见即所得的文本编辑器。可以从http://ckeditor.com/download下载。 在HTML文档的head标签内插入如下代码,其中ckeditor.js是压缩之后的CKEditor核心文件,只需调用该文件就足够了。 <script type="text/javascript" src="ckeditor/ckeditor.js"></script> 使用CKEditor的方式有两种。一是给textarea标签添加ckeditor类,二是使用CKEditor提供的CKEDITOR.replace()函数。 方法一 <textarea class="ckeditor" name="editor1" id="editor1" cols="80" rows="20"></textarea> 方法二 <textrea name="editor2" id="editor2" cols="80" rows="20"></textarea> <script type="text/javascript"> CKEDITOR.replace('editor2'); // editor2是指id值为"editor2" </script> 阅读更多

JavaScript获取元素的最终样式

非内嵌CSS样式的获取需要使用不同的方法。IE提供了currentStyle方法,而其他的浏览器则遵循W3C定义的document.defaultView.getComputedStyle方法。 IE: elem.currentStyle[name]; W3C: document.defaultView.getComputedStyle(elem, null).getPropertyValue(name); 无论样式是内联还是外部样式,都能通过JavaScript获取元素的最终样式。 阅读更多

JavaScript第三方脚本的放置问题

Google Analytics的JavaScript代码要放在文档的最底部,所有链接到外部网站的JavaScript 代码都要写在文档的底部呢!?没有人告诉我们为什么要这样做,只是要这么去做,最终我们都乖乖 地把第三方提供的JavaScript代码贴到文档的底部。 W3C推荐把JavaScript脚本放到head元素内,这样做好像是更符合标准的方式。但是我们的做法好像和标准背道而驰,很长时间 为什么这样做一直困扰着我,最近看书才了解到这样放置的理由。 第三方脚本一般提供了网站访问的JavaScript代码,其他的我没有用过。第三方脚本一般都具有很强大的功能,而且这种功能是对 整个Web开放的,当脚本所在的服务器因负担过重而无法响应我们的请求时,会导致页面的装载时间过长,严重的会导致超时。所以, 尽可能地把第三方提供的JS脚本放到文档的底部,这样才能够减少意外所带来的用户流失。 阅读更多

重置浏览器默认样式

布局样式表包括显示属性,浮动,定位,宽度,高度以及边距和填充,一般命名为layout.css。 颜色样式表包括背景属性,颜色和图片以及文本颜色,一般命名为color.css。 版式信息包含了字体和字体大小,行高,字母间隔以及文本装饰,一般命名为typography.css。 为减少XHTML文档链接的样式表数量,一般习惯只是链接一个样式表。 <link rel="stylesheet" type="text/css" href="layout.css" /> 然后,用@import规则来引用其他样式表。 @import url(color.css); @import url(typography.css); 重写浏览器默认样式: body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, p, blockquote, th, td {margin: 0; padding: 0; } /* Normalizes margin, padding */ h1, h2, h3, h4, h5, h6 { font-size: 100%; } /* Normalizes font-size for headers */ ol, ul { list-style: none; } /* Remove list-style from lists */ A » » »阅读更多

学习面向对象的JavaScript

以下是我对《精通JavaScript》学习的记录,理解有误之处敬请指正。 “引用”是一个指向对象实际位置的指针。多个变量可以同时指向同一个对象。对象的修改会直接影响到引用对象的变量。JavaScript里的结果是沿着引用链一直上溯到原来那个对象。请看下面的示例。 <script type="text/javascript"> var items = new Array('one', 'two', 'three'); var itemsRef = items; var itemsRef1 = itemsRef; items.push('four'); // 修改items数组 document.write('itemsRef1 = ' + itemsRef1 + '<br />'); // one,two,three,four itemsRef1.push('five'); // 对itmesRef的修改可以直接影响items和itemsRef document.write('items = ' + items + '<br />'); // one,two,three,four,five items = ''; // 重新构建items对象,并没有对itemsRef及itemsRef1构成影响 document.write('itmes = ' + items + '<br />'); // items返回空 document.wr » » »阅读更多

Learning WordPress Pluggable.php

根据注释可以得知该脚本里面的函数被插件中重新定义的同名函数覆盖,当然如果外面没有定义这个脚本中包含的函数,那么该脚本中的函数在全局内仍然是可用的。 学习编程语言需要不断地积累,在学习WrodPress的过程中把那些研究过的函数记下来也是一个不错的方法。不过本人水品有限,目前只能理解到文字能够表达的程度。有些函数的调用的是不同的脚本,所以在学习记录的过程中有些杂乱。 set_current_user($id, $name = '') 使用$id或$name改变当前用户。假如users表中有多个用户,那么可以通过set_current_user来改变当前用户,具体到有多大作用还没有遇到过。后台显示的是display_name字段。该函数是对wp_set_current_user封装形式。 function absint( $maybeint) { return abs( intval( $maybeint ) ); } 转换值为非负整数。在该脚本的get_userdata($user_id)中调用,来生成正确的用户id。 abs返回给定参数的绝对值,该函数不会对小数点进行处理。 i » » »阅读更多

JavaScript URL 编码

encodeURIComponent(URIString) 对字符串进行URI编码,其中的某些字符将被十六进制的转义序列进行替换。 该方法不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码: – _ . ! ~ * ‘ ( ) 。 其他字符(比如 :;/?:@&=+$,# 这些用于分隔 URI 组件的标点符号),都是由一个或多个十六进制的转义序列替换的。 提示:请注意 encodeURIComponent() 函数 与 encodeURI() 函数的区别之处,前者假定它的参数是 URI 的一部分(比如协议、主机名、路径或查询字符串)。因此 encodeURIComponent() 函数将转义用于分隔 URI 各个部分的标点符号。 decodeURIComponent(URIstring) 函数可对encodeURIComponent() 函数编码的URI 进行解码。其中的十六进制转义序列将被它们表示的字符替换。 阅读更多

PHP URL编码

urlencode()、urldecode()、rawurlencode()、rawurldecode()这些函数来解决网页URL编码解码问题。 string urlencode ( string $str )返回字符串,此字符串中除了 -_. 之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数,空格则编码为加号(+)。 string urldecode ( string $str )解码给出的已编码字符串中的任何 %##。返回解码后的字符串。 string rawurlencode ( string $str )返回字符串,此字符串中除了 -_. 之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数。 string rawurldecode ( string $str )返回字符串,此字符串中百分号(%)后跟两位十六进制数的序列都将被替换成原义字符。 urlencode 将空格则编码为加号(+)rawurlencode 将空格则编码为加号(%20) 如果要使用utf-8的Encode,有两种方法: 一、将文件存为utf-8文件,直接使用urlencode、 rawurlencode即可。二、使用mb_convert_encoding函数。 阅读更多

PHP转义函数

string preg_quote( string $str[, string $delimiter] ) 找出$str字符串中出现的属于正则表达式的特殊字符,并在改特殊字符前面加上一个反斜线。 可以提供一个可选的$delimiter字符串参数作为新增的转义字符集合。 正则表达式的特殊字符包括: . \ + * ? [ ^ ] $ ( ) { } = ! < > | : 。 string addslashes( string $str ) 在要写入到数据库的字符串中的特殊字符上添加反斜线,这些字符有单引号(‘)、双引号(“)、反斜线(\)与NULL(NULL字符)。 当php.ini的指令magic_quote_gpc = On时,意味着当写入数据到数据库时,数据中的特殊字符会自动加上一个反斜线。可以使用get_magic_quotes_gpc()函数进行检测magic_quote_gpc是否打开。PHP官方建议将magic_quote_gpc的值设为Off,因为这个配置的打开可能带来一定的安全问题,最好以手工的方式对写入到数据库的数据进行处理。 string addcslashes( string $str, string $charlist ) 以C语言的风格转义字符串。 » » »阅读更多

Smarty安装和使用

从Smarty官网下载。解压smarty压缩文件之后里面有libs目录,这是Smarty的库文件,这也就是Smarty的核心文件了,我们把解压后的libs目录重命名为smarty,然后放到PHP安装目录下的includes文件夹中。如果没有includes文件夹,那么创建一个,并且编辑php.ini文件,在末尾添加如下的设置: include_path=".;C:\PHP\includes" 。当然我们可以把smarty核心文件放置在任何地方,前提是需要可以require到Smarty.class.php这一文件。 目前库文件已经可以成功引用,现在该配置一下与Smarty有关的其他目录了。这里可以参考Smarty解压文件后的demo文件夹,一般直接把解压后的Smarty文件夹拷贝到web根目录就可以直接运行demo里面的文件了。当然,我们在使用Smarty开发的时候最好不要这么做。 首先在web根目录创建存放我们所要开发的应用程序的文件夹,例如:myblog。这个文件夹里面存放所有有关myblog的开发文件,当然我们还需要创建Smarty需要的几个文件夹,configs、tem » » »阅读更多