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,看起来舒服多了:)
Sep
21
一下代码来自w3school
function loadXMLDoc(dname)
{
var xmlDoc;
// code for IE
if (window.ActiveXObject)
{
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
}
// code for Mozilla, Firefox, Opera, etc.
else if (document.implementation && document.implementation.createDocument)
{
xmlDoc=document.implementation.createDocument("","",null);
}
else
{
alert('Your browser cannot handle this script');
}
xmlDoc.async=false;
xmlDoc.load(dname);
return(xmlDoc);
}
{
var xmlDoc;
// code for IE
if (window.ActiveXObject)
{
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
}
// code for Mozilla, Firefox, Opera, etc.
else if (document.implementation && document.implementation.createDocument)
{
xmlDoc=document.implementation.createDocument("","",null);
}
else
{
alert('Your browser cannot handle this script');
}
xmlDoc.async=false;
xmlDoc.load(dname);
return(xmlDoc);
}
Sep
20
打开配置文件
$ sudo vi /etc/network/interfaces
DHCP参数配置
Static IP (静态IP)参数配置
Restart the network
$ sudo /etc/init.d/networking restart
$ sudo vi /etc/network/interfaces
DHCP参数配置
引用
auto eth0
iface eth0 inet dhcp
iface eth0 inet dhcp
Static IP (静态IP)参数配置
引用
auto eth0
iface eth0 inet static
address 192.168.1.100
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
iface eth0 inet static
address 192.168.1.100
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
Restart the network
$ sudo /etc/init.d/networking restart
Sep
18
在写Felix的javascript运行环境的时候
为了方便使用,Felix希望能够捕捉到CTRL+Enter按键作为运行的快捷键
以前写过for IE的代码,非常简单:
但是这样的代码在Firefox下根本不能运行,因为event不是Firefox的一个全局对象。
查了好多资料,终于明白了在Firefox下要这样写代码才行:
但是很遗憾,这样的代码在IE下又不能运行——好吧,采取折衷方案如下:
于是代码终于可以在IE和Firefox运行了。
总结一下需要注意的地方:
1. 取得keyBoardEvent对象
2. 取得keyBoardEvent对象的键值
3. onkeypress="myKeyPress(event)" 函数需要一个参数
以上很大一部分是参考了来自以下网页:
Javascript Madness
该网页详细介绍了几个很容易令人发疯的兼容性问题。。。。
为了方便使用,Felix希望能够捕捉到CTRL+Enter按键作为运行的快捷键
以前写过for IE的代码,非常简单:
<script language="javascript">
function myKeyPress(){
alert(event.keyCode);
}
</script>
<body onkeypress="myKeyPress()">
......
function myKeyPress(){
alert(event.keyCode);
}
</script>
<body onkeypress="myKeyPress()">
......
但是这样的代码在Firefox下根本不能运行,因为event不是Firefox的一个全局对象。
查了好多资料,终于明白了在Firefox下要这样写代码才行:
<script language="javascript">
function myKeyPress(evt){
alert(evt.which);
}
</script>
<body onkeypress="myKeyPress(evt)">
......
function myKeyPress(evt){
alert(evt.which);
}
</script>
<body onkeypress="myKeyPress(evt)">
......
但是很遗憾,这样的代码在IE下又不能运行——好吧,采取折衷方案如下:
<script language="javascript">
function myKeyPress(evt){
evt = (evt) ? evt : ((window.event) ? window.event : "") //兼容IE和Firefox获得keyBoardEvent对象
var key = evt.keyCode?evt.keyCode:evt.which; //兼容IE和Firefox获得keyBoardEvent对象的键值
if(evt.ctrlKey && (key == 13 || key == 10)){ //同时按下了Ctrl和回车键
//do something;
}
}
</script>
<body onkeypress="myKeyPress(evt)">
......
function myKeyPress(evt){
evt = (evt) ? evt : ((window.event) ? window.event : "") //兼容IE和Firefox获得keyBoardEvent对象
var key = evt.keyCode?evt.keyCode:evt.which; //兼容IE和Firefox获得keyBoardEvent对象的键值
if(evt.ctrlKey && (key == 13 || key == 10)){ //同时按下了Ctrl和回车键
//do something;
}
}
</script>
<body onkeypress="myKeyPress(evt)">
......
于是代码终于可以在IE和Firefox运行了。
总结一下需要注意的地方:
1. 取得keyBoardEvent对象
2. 取得keyBoardEvent对象的键值
3. onkeypress="myKeyPress(event)" 函数需要一个参数
以上很大一部分是参考了来自以下网页:
Javascript Madness
该网页详细介绍了几个很容易令人发疯的兼容性问题。。。。
Sep
18
最近经常要测试javascript代码
但是又不想专门写一个文件,然后保存,双击……
虽然可以在浏览器地址栏里面写 javascript: alert("ooxx");
但是对于稍微长一点的代码它又很不好编辑
于是今天花了点时间写了个——Felix的javascript运行环境
确实就是一个HTML页面,有一个textarea,里面可以写javascript代码
写完以后按下CTRL+Enter或者点击运行
页面的脚本会捕捉到这些事件,然后调用eval()函数
把textarea里面的代码当作javascipt代码运行。
值得一提的是使用了try{eval(code.value);}catch(e){alert(e);}这样的结构
也就是说如果你输入的代码有问题,还能够提示错误,非常方便:)
点击这里打开:Felix的javascript运行环境
但是又不想专门写一个文件,然后保存,双击……
虽然可以在浏览器地址栏里面写 javascript: alert("ooxx");
但是对于稍微长一点的代码它又很不好编辑
于是今天花了点时间写了个——Felix的javascript运行环境
确实就是一个HTML页面,有一个textarea,里面可以写javascript代码
写完以后按下CTRL+Enter或者点击运行
页面的脚本会捕捉到这些事件,然后调用eval()函数
把textarea里面的代码当作javascipt代码运行。
值得一提的是使用了try{eval(code.value);}catch(e){alert(e);}这样的结构
也就是说如果你输入的代码有问题,还能够提示错误,非常方便:)
点击这里打开:Felix的javascript运行环境
Sep
18
主要是对Date对象的使用。
测试一下:
测试一下:
<script language="javascript">
function showTime(){
var a=new Date();
var y = a.getFullYear()+"-";
var m = (a.getMonth()+1)+"-";
var d = a.getDate()+" ";
var h = a.getHours()+":";
var x = a.getMinutes()+":";
var s = a.getSeconds()+".";
var ms=a.getMilliseconds();
alert(y + m + d + h + x + s + ms);
}
//取得时间戳的办法(精确到毫秒):
function timestamp(){
var a = new Date();
return Date.parse(a) + a.getMilliseconds();
}
</script>
function showTime(){
var a=new Date();
var y = a.getFullYear()+"-";
var m = (a.getMonth()+1)+"-";
var d = a.getDate()+" ";
var h = a.getHours()+":";
var x = a.getMinutes()+":";
var s = a.getSeconds()+".";
var ms=a.getMilliseconds();
alert(y + m + d + h + x + s + ms);
}
//取得时间戳的办法(精确到毫秒):
function timestamp(){
var a = new Date();
return Date.parse(a) + a.getMilliseconds();
}
</script>