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
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>
Sep
17
今天继续看ajax。
以前写过一个ajax的聊天室,但是只能在IE下面运行。
今天写了一个全新的,在Firefox下面也运行正常了。
附上代码(PHP + Ajax):
下载文件 (已下载 1277 次)
做一些笔记:
以前写过一个ajax的聊天室,但是只能在IE下面运行。
今天写了一个全新的,在Firefox下面也运行正常了。
附上代码(PHP + Ajax):

做一些笔记:
Sep
17
zz from http://www.360happy.cn/2008/07/21/632810/
Javascript解析URL的方法
URL: 统一资源定位符 (Uniform Resource Locator, URL)
完整的URL由这几个部分构成:
scheme://host:port/path?query#fragment
scheme = 通信协议 (常用的http,ftp,maito等)
host = 主机 (域名或IP)
port = 端口号
path = 路径
query = 查询
Javascript解析URL的方法
URL: 统一资源定位符 (Uniform Resource Locator, URL)
完整的URL由这几个部分构成:
scheme://host:port/path?query#fragment
scheme = 通信协议 (常用的http,ftp,maito等)
host = 主机 (域名或IP)
port = 端口号
path = 路径
query = 查询