Oct
11
zz from http://www.blogjava.net/boddi/archive/2006/08/15/63609.html
attachEvent() / addEventListener() 对象添加触发事件(转)
有时候当某一对象的某一事件被触发时,它所要执行的程序可能是一大串,有可能是要呼叫某一函数,也有可能同时又要呼叫另一函数。
document.getElementById("btn").onclick = method1;
document.getElementById("btn").onclick = method2;
document.getElementById("btn").onclick = method3;
如果这样写,那么将会只有medhot3被执行
在IE中使用attachEvent ,
attachEvent() / addEventListener() 对象添加触发事件(转)
有时候当某一对象的某一事件被触发时,它所要执行的程序可能是一大串,有可能是要呼叫某一函数,也有可能同时又要呼叫另一函数。
document.getElementById("btn").onclick = method1;
document.getElementById("btn").onclick = method2;
document.getElementById("btn").onclick = method3;
如果这样写,那么将会只有medhot3被执行
在IE中使用attachEvent ,
Oct
10
zz from http://ubuntuforums.org/showthread.php?t=219985
原文对应的jdk版本是5, tomcat版本是5
修改成现有版本是jdk6, tomcat5.5
-----
HOWTO : Apache2 + Tomcat5.5
# All the modified or additional information will be updated on this post in order for everyone to get alwasys up-to date information.
This how to explains you the way to set up apache (http server) + tomcat (servlet container). Tomcat itself can work standalone http server however when we consider about the performance, it's better to use the connector to bind apache and tomcat. (If you really need the performance, RESIN is one of the best servlet container though)
About the connector development of mod-jk2 has been end since 15 November 2004. So please use mod-jk instead.
1) Install the needed package
First of all, let's install the packages needed.
$ sudo apt-get install apache2-mpm-prefork apache2-common apache2-utils
$ sudo apt-get install sun-java6-jdk tomcat5.5 tomcat5.5-admin tomcat5.5-webapps
$ sudo apt-get install libapache2-mod-jk
原文对应的jdk版本是5, tomcat版本是5
修改成现有版本是jdk6, tomcat5.5
-----
HOWTO : Apache2 + Tomcat5.5
# All the modified or additional information will be updated on this post in order for everyone to get alwasys up-to date information.
This how to explains you the way to set up apache (http server) + tomcat (servlet container). Tomcat itself can work standalone http server however when we consider about the performance, it's better to use the connector to bind apache and tomcat. (If you really need the performance, RESIN is one of the best servlet container though)
About the connector development of mod-jk2 has been end since 15 November 2004. So please use mod-jk instead.
1) Install the needed package
First of all, let's install the packages needed.
$ sudo apt-get install apache2-mpm-prefork apache2-common apache2-utils
$ sudo apt-get install sun-java6-jdk tomcat5.5 tomcat5.5-admin tomcat5.5-webapps
$ sudo apt-get install libapache2-mod-jk
Oct
6
所以在给whumstc做图书馆藏书情况查询系统的时候
因为觉得用SELECT COUNT(*) FROM `ooxx`是很耗时的
所以就没有做过多的分页功能,只做了首页/上页/下页/跳页。
现在发现我的想法非常愚蠢 - 会如此频繁使用的功能,MySQL怎会不优化呢
不过当时(十一)是在老家,没有网络不能查。
今天想起这个问题,于是google了一下,答案是:
使用MYISAM存储引擎的表,会保存表的记录数。
如果使用SELECT COUNT(*) FROM `table_name`;语句进行查询的时候
会直接返回该记录数。
注意使用InnoDB引擎存储的表没有这个功能
这条SQL语句也不能加上WHERE限定语句,否则将要扫描所有记录。
专门看了一下MySQL Manual的Chapter 7.2.4 MySQL怎样优化WHERE子句, 很有收获。
因为觉得用SELECT COUNT(*) FROM `ooxx`是很耗时的
所以就没有做过多的分页功能,只做了首页/上页/下页/跳页。
现在发现我的想法非常愚蠢 - 会如此频繁使用的功能,MySQL怎会不优化呢
不过当时(十一)是在老家,没有网络不能查。
今天想起这个问题,于是google了一下,答案是:
使用MYISAM存储引擎的表,会保存表的记录数。
如果使用SELECT COUNT(*) FROM `table_name`;语句进行查询的时候
会直接返回该记录数。
注意使用InnoDB引擎存储的表没有这个功能
这条SQL语句也不能加上WHERE限定语句,否则将要扫描所有记录。
专门看了一下MySQL Manual的Chapter 7.2.4 MySQL怎样优化WHERE子句, 很有收获。
Oct
6
zz一篇,值得看看,里面包含两部分
一、启动参数优化
二. 其他小TIPS
----------------------
MySQL性能优化TIPS
作/译者:叶金荣,来源:http://imysql.cn,
转载请注明作/译者和出处,并且不能用于商业用途,违者必究。
一. 启动参数优化
修改 my.cnf (或者my.ini),加入/修改以下几行
#设定缓存的连接数,节省连接时的开销
back_log = 64
#禁用文件系统外部锁
external-locking = 0
一、启动参数优化
二. 其他小TIPS
----------------------
MySQL性能优化TIPS
作/译者:叶金荣,来源:http://imysql.cn,
转载请注明作/译者和出处,并且不能用于商业用途,违者必究。
一. 启动参数优化
修改 my.cnf (或者my.ini),加入/修改以下几行
#设定缓存的连接数,节省连接时的开销
back_log = 64
#禁用文件系统外部锁
external-locking = 0
Sep
26
用起来挺方便的。
function setCookie(key, value, day) {
day = parseInt(day);
if(!isNaN(day)){
var expireDate = new Date();
expireDate.setTime(expireDate.getTime() + (day*24*3600000));
document.cookie = key + "=" + encodeURIComponent(value) + ";expires=" + expireDate.toGMTString();
}
else{
document.cookie = key + "=" + encodeURIComponent(value);
}
}
function getCookie(str){
var reg = new RegExp("(^| )"+str+"=([^;]*)(;|$)","gi");
var ck = reg.exec(document.cookie);
try{
if(ck[2] == null || typeof(ck[2]) == "undefine") return null;
}
catch(e){
return null;
}
return decodeURIComponent(ck[2]);
}
day = parseInt(day);
if(!isNaN(day)){
var expireDate = new Date();
expireDate.setTime(expireDate.getTime() + (day*24*3600000));
document.cookie = key + "=" + encodeURIComponent(value) + ";expires=" + expireDate.toGMTString();
}
else{
document.cookie = key + "=" + encodeURIComponent(value);
}
}
function getCookie(str){
var reg = new RegExp("(^| )"+str+"=([^;]*)(;|$)","gi");
var ck = reg.exec(document.cookie);
try{
if(ck[2] == null || typeof(ck[2]) == "undefine") return null;
}
catch(e){
return null;
}
return decodeURIComponent(ck[2]);
}
Sep
26
在javascript的String对象(字符串)里面没有trim方法,使得很多时候在判断的时候挺无奈
刚刚看到了prototype.js的源码,发现里面实现了这个方法,用的方法其实很简单——
用正则表达式来把首位的空格替换成空串。代码如下
如果要更进一步给String定义一个trim函数,可以用如下代码
非常简单,却非常牛B
刚刚看到了prototype.js的源码,发现里面实现了这个方法,用的方法其实很简单——
用正则表达式来把首位的空格替换成空串。代码如下
replace(/(^\s*)|(\s*$)/g, "");
如果要更进一步给String定义一个trim函数,可以用如下代码
String.prototype.trim = function(){
return this.replace(/^\s*|\s*$/g, "");
}
return this.replace(/^\s*|\s*$/g, "");
}
非常简单,却非常牛B
Sep
23
参考了boblog的UBB代码写了这个函数。
给id为o_id的元素中选中的文本添加o_tag对应的UBB表情
e.g.
addUBB("content", "b");
addUBB("content", "i");
给id为o_id的元素中选中的文本添加o_tag对应的UBB表情
e.g.
addUBB("content", "b");
addUBB("content", "i");
function addUBB(o_id, o_tag){
if(navigator.userAgent.indexOf("MSIE") != -1){ //IE
var sel = document.selection;
var range = sel.createRange();
if(!(sel.type=="Text" && range.parentElement().id==o_id))return;
range.text = "["+o_tag+"]"+range.text+"[/"+o_tag+"]";
}else{ //FireFox
var obj = document.getElementById(o_id);
var selStart = obj.selectionStart;
var selEnd = obj.selectionEnd;
if(selStart == selEnd) return;
var a = obj.value.substring(0, selStart);
var b = obj.value.substring(selStart, selEnd);
var c = obj.value.substring(selEnd, obj.value.length);
obj.value=a+"["+o_tag+"]"+b+"[/"+o_tag+"]"+c;
}
}
if(navigator.userAgent.indexOf("MSIE") != -1){ //IE
var sel = document.selection;
var range = sel.createRange();
if(!(sel.type=="Text" && range.parentElement().id==o_id))return;
range.text = "["+o_tag+"]"+range.text+"[/"+o_tag+"]";
}else{ //FireFox
var obj = document.getElementById(o_id);
var selStart = obj.selectionStart;
var selEnd = obj.selectionEnd;
if(selStart == selEnd) return;
var a = obj.value.substring(0, selStart);
var b = obj.value.substring(selStart, selEnd);
var c = obj.value.substring(selEnd, obj.value.length);
obj.value=a+"["+o_tag+"]"+b+"[/"+o_tag+"]"+c;
}
}
Sep
23
IE给iframe设置的那个3D边框效果真是难看阿。。
不论怎么设置style中的border属性都没有用
后来在网上找到一篇文章[点击打开]
解决方案其实很简单:
OK,看起来舒服多了:)
不论怎么设置style中的border属性都没有用
后来在网上找到一篇文章[点击打开]
解决方案其实很简单:
<iframe src="ooxx.html" frameborder="0"></iframe>
OK,看起来舒服多了:)