Sep 23
IE给iframe设置的那个3D边框效果真是难看阿。。
不论怎么设置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);
}
Sep 18
在写Felix的javascript运行环境的时候
为了方便使用,Felix希望能够捕捉到CTRL+Enter按键作为运行的快捷键
以前写过for IE的代码,非常简单:
<script language="javascript">
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)">
......

但是很遗憾,这样的代码在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)">
......

于是代码终于可以在IE和Firefox运行了。

总结一下需要注意的地方:
1. 取得keyBoardEvent对象
2. 取得keyBoardEvent对象的键值
3. onkeypress="myKeyPress(event)" 函数需要一个参数

以上很大一部分是参考了来自以下网页:
Javascript Madness
该网页详细介绍了几个很容易令人发疯的兼容性问题。。。。
Sep 18

Felix的javascript运行环境 不指定

felix021 @ 2008-9-18 18:56 [IT » 网络] 评论(0) , 引用(0) , 阅读(4474) | Via 本站原创
最近经常要测试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>
Sep 17

小试Ajax 不指定

felix021 @ 2008-9-17 18:49 [IT » 网络] 评论(0) , 引用(0) , 阅读(4328) | Via 本站原创
今天继续看ajax。
以前写过一个ajax的聊天室,但是只能在IE下面运行。
今天写了一个全新的,在Firefox下面也运行正常了。
附上代码(PHP + Ajax):
下载文件 (已下载 1086 次)


做一些笔记:
Sep 17

zz: Javascript解析URL的方法 不指定

felix021 @ 2008-9-17 03:11 [IT » 网络] 评论(0) , 引用(0) , 阅读(4236) | Via 本站原创
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 = 查询
Tags: ,
Sep 16
没有找到库函数,从网上看到一个,小修改下
能实现类似PHP htmlspecialchars()函数(对应vbscript server.htmlencode()方法)

@ 2010.3.23 p.s. 换用正则表达式应该会快很多
function htmlspecialchars(str)  
{  
    str = str.replace(/&/g, '&amp;');
    str = str.replace(/</g, '&lt;');
    str = str.replace(/>/g, '&gt;');
    str = str.replace(/"/g, '&quot;');
    str = str.replace(/'/g, '&#039;');
    return str;
}


//这个版本多转换了一些内容
    function htmlspecialchars(str)  
    {  
        var s = "";
        if (str.length == 0) return "";
        for   (var i=0; i<str.length; i++)
        {
            switch (str.substr(i,1))
            {
                case "<": s += "&lt;"; break;
                case ">": s += "&gt;"; break;
                case "&": s += "&amp;"; break;
                case " ":
                    if(str.substr(i + 1, 1) == " "){
                        s += " &nbsp;";
                        i++;
                    } else s += " ";
                    break;
                case "\"": s += "&quot;"; break;
                case "\n": s += "<br>"; break;
                default: s += str.substr(i,1); break;
            }
        }
        return s;
    }
分页: 11/26 第一页 上页 6 7 8 9 10 11 12 13 14 15 下页 最后页 [ 显示模式: 摘要 | 列表 ]