emu (ston) 一个B/S的研究学者!

解决方案 »

  1.   

    http://www.dannyg.com/dl/JSB4RefBooklet.pdf
    JavaScript and Browser Objects Quick Reference
    253K
    How to Use This Quick Reference
    This guide contains quick reference info for the core JavaScript
    language, the original document object model (2 pp), the IE4+DHTML
    object model (4 pp), and the W3C DOM object model(4 pp) as
    implemented in IE5+ and NN6. All-uppercase object names refer
    to HTML elements (IE4+ and W3C DOMs). The three columns
    in each box list the object’s properties,methods, and event handlers
    in that order. Read the compatibility guides for each section.
    Numbers in the upper right corners of object squares are chapter
    numbers in which the object is covered in detail.
      

  2.   

    没什么人支持,自己up吧。从前在 http://expert.csdn.net/Expert/topicview.asp?id=1093697 帖过一个连动下拉框的例子,只能在IE下面跑的,今天改了一下,可以在netscape下面跑了:<html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>emu</title>
    </head>
    <body onload="init()">
    <select id=prov style="width:100" onchange="provChanged()" ></select>
    <select id=city style="width:100" size=20></select>
    <button onclick="show()">test</button>
    </body>
    <script>
    var ar = 
    [[["安徽省"],["安庆市","蚌埠市","巢湖市","池州市","滁州市","阜阳市","毫州市","合肥市","淮北市","淮南市","黄山市","六安市","马鞍山市","宿州市","铜陵市","芜湖市","宣州市"]],[["澳门"],["澳门"]],[["北京市"],["北京市"]],[["福建省"],["福州市","龙岩市","南平市","宁德市","莆田市","泉州市","三明市","厦门市","漳州市"]],[["甘肃省"],["白银市","定西地区","甘南自治州","嘉峪关市","金昌市","酒泉地区","兰州市","临夏自治州","陇南地区","平凉地区","庆阳地区","天水市","武威市","张掖地区"]],[["广东省"],["深圳市","潮州市","东莞市","佛山市","广州市","河源市","惠州市","江门市","揭阳市","茂名市","梅州市","清远市","汕头市","汕尾市","韶关市","阳江市","云浮市","湛江市","肇庆市","中山市","珠海市"]],[["广西"],["百色地区","北海市","防城港市","桂林地区","桂林市","贵港市","河池地区","柳州地区","柳州市","南宁市","南宁地区","钦州市","贺州地区","梧州市","玉林市"]],[["贵州省"],["安顺市","毕节地区","贵阳市","六盘水市","黔东南自治州","黔南自治州","黔西南自治州","铜仁市","遵义市"]],[["海南省"],["海口市","三亚市"]],[["河北省"],["保定地区","保定市","沧州地区","沧州市","承德地区","承德市","邯郸市","衡水市","廊坊市","秦皇岛市","深州市","石家庄市","唐山市","邢台地区","邢台市","张家口地区","张家口市"]],[["河南省"],["安阳市","鹤壁市","焦作市","开封市","洛阳市","南阳市","平顶山市","三门峡市","商丘市","新乡市","信阳市","许昌市","郑州市","周口市","驻马店市","漯河市","濮阳市"]],[["黑龙江"],["大庆市","大兴安岭","哈尔滨市","鹤岗市","黑河地区","黑河市","鸡西市","佳木斯市","牡丹江市","七台河市","齐齐哈尔市","双鸭山市","松花江地区","绥化市","伊春市"]],[["湖北省"],["鄂州市","恩施自治州","黄冈市","黄石市","荆门市","荆州市","十堰市","随州市","武汉市","咸宁市","襄樊市","孝感地区","孝感市","宜昌地区","宜昌市","郧阳地区"]],[["湖南省"],["常德市","长沙市","郴州地区","张家界市","衡阳市","怀化市","永州市","娄底市","邵阳市","湘潭市","湘西自治区","益阳市","岳阳市","株洲市"]],[["吉林省"],["白城地区","白城市","白山市","长春市","浑江市","吉林市","辽源市","四平市","松原市","通化市","延边自治区"]],[["江苏省"],["常州市","淮阴市","连云港市","南京市","南通市","苏州市","宿迁市","泰州市","无锡市","徐州市","盐城市","扬州市","镇江市"]],[["江西省"],["抚州市","赣州市","吉安市","景德镇市","九江市","南昌市","萍乡市","上饶市","新余市","宜春市","鹰潭市"]],[["辽宁省"],["鞍山市","本溪市","朝阳市","大连市","丹东市","抚顺市","阜新市","葫芦岛市","锦州市","辽阳市","盘锦市","沈阳市","铁岭市","营口市"]],[["内蒙古"],["阿拉善盟","巴彦淖尔盟","包头市","赤峰市","呼和浩特市","呼伦贝尔市","乌海市","乌兰察布盟","锡林郭勒盟","兴安盟","鄂尔多斯市","通辽市"]],[["宁夏"],["固原市","石嘴山市","银川市","吴忠市"]],[["青海省"],["果洛自治州","海北自治州","海东地区","海南自治州","海西自治州","黄南自治州","西宁市","玉树自治州"]],[["山东省"],["滨州市","德州市","东营市","菏泽地区","济南市","济宁市","莱芜市","聊城市","临沂市","青岛市","日照市","泰安市","威海市","潍坊市","烟台市","枣庄市","淄博市"]],[["山西省"],["长治市","大同市","晋城市","晋中市","临汾市","吕梁地区","朔州市","太原市","忻州市","雁北地区","阳泉市","运城市"]],[["陕西省"],["安康市","宝鸡市","汉中市","商洛市","铜川市","渭南市","西安市","咸阳市","延安市","榆林市"]],[["上海市"],["上海市"]],[["四川省"],["阿坝自治州","巴中市","成都市","达州市","德阳市","甘孜自治州","广安市","广元市","乐山市","凉山自治州","眉山市","绵阳市","南充市","内江市","攀枝花市","遂宁市","雅安市","宜宾市","自贡市","泸州市","资阳市"]],[["台湾"],["高雄市","高雄县","花莲县","基隆市","嘉义市","嘉义县","苗栗县","南投县","澎湖县","屏东县","台北市","台北县","台东县","台南市","台南县","台中市","台中县","桃园县","新竹市","新竹县","宜兰县","云林县","彰化市","彰化县"]],[["天津市"],["天津市"]],[["西藏"],["阿里地区","昌都地区","拉萨市","林芝地区","那曲地区","日喀则地区","山南地区"]],[["香港"],["香港"]],[["新疆"],["阿克苏地区","阿勒泰地区","巴音郭楞州","博尔塔拉州","昌吉自治州","哈密地区","和田地区","喀什地区","克拉玛依市","克孜勒州","石河子市","塔城地区","吐鲁番地区","乌鲁木齐市","伊犁地区"]],[["云南省"],["保山市","楚雄自治州","大理自治州","德宏自治州","迪庆自治州","东川市","红河自治州","昆明市","丽江地区","临沧地区","怒江自治州","曲靖市","思茅地区","文山自治州","西双版纳州","玉溪市","昭通市"]],[["浙江省"],["杭州市","湖州市","嘉兴市","金华市","丽水市","宁波市","绍兴市","台州市","温州市","舟山市","衢州市"]],[["重庆市"],["重庆市"]]];
    function init(){
    var prov = document.getElementById("prov");
    for (var i=0;i<ar.length;i++)
    {
    var op = new Option(ar[i][0],ar[i][0]);
    prov.options[prov.length]=op;
    }
    provChanged();
    }
    function provChanged()
    {
    var i = document.getElementById("prov").selectedIndex;
    var city = document.getElementById("city");
    city.options.length=0;
    for (var j=0;j<ar[i][1].length;j++)
    {
    var op = new Option(ar[i][1][j],ar[i][1][j]);
    city.options[city.length]=op;
    }
    city.selectedIndex=0;
    }function show()
    {
    with (document.getElementById("city"))
    var c=options[selectedIndex].text
    with (document.getElementById("prov"))
    var p=options[selectedIndex].text
    var result=(p==c)?p:p+"-"+c
    alert(result)
    }</script>
    </html>IE5 , NETSCAPE6.2下面通过。
      

  3.   

    我不会程序,
    但我会up,
    up!
      

  4.   

    孟子孟子,支持一下吧。
    你那里有netscape下面打印预览的例子吧?来一个嘛!
      

  5.   

    引用一句IBM高层的话:IE和Netscape的这场战争已经结束了
    微软赢了。我想你的代码会不会支持both, 没有人 care了。just forget it.
      

  6.   

    特别是当eCommerce一再衰落
    Enterprise Web Application Market价值远大于eCommerce的今天just presume the client is IE, what's problem?
      

  7.   

    大多数的人,大多数的网站现在都向M$看齐了。看看目前的很多网站设计的都不是二者不兼容。其中的JS就没有必要追求了吧。
      

  8.   

    我写js时也碰到这些问题,典型的是在NS/Mozilla中我没办法对DIV操作,比如往DIV中动态写点东西显示出来,不知谁能解决?
    以前还碰到别的不兼容问题,不过通过改写脚本搞定了.
      

  9.   

    to wsj(骆驼):1、国外的情形和中国并不完全相同,netscape继续发布新版本并不只是为了好看,我现在做这样的项目也不是为了摆设。2、既然linux和windows的桌面之战远谈不上结束,那么IE和其他浏览器之战也就谈不上结束。相比之下我个人更喜欢mozilla。不过客户不要求我也就只好先不管它了。
      

  10.   

    1) OK, yep, linux is the war coming.但是要知道money决定一切,我仍然会拭目以待。2) 而且客户决定money, 试问“客户不要求”了,我们还有自娱的必要吗
      

  11.   

    我們要為崇高的共產主義世界大同而奮鬥。可是在慘痛的教訓面前,選擇把有中國特色的社會主義搞得更好,可能是明智選擇。反正我個人是再也不願意回到開發cross browser web application, NS給我的惡夢中了。
      

  12.   

    to emu(ston):我把给企业用的B/S 叫web application (user-Oriented)它和做一个e-bussiness 的 "site" (publiced customer-Oriented)
    有很大不同
      

  13.   

    我明白,我们做的是一样的东西。只是把这个东西教application我觉得很难接受。
      

  14.   

    emu,你要学会开口埋口都是“解决方案”。
      

  15.   

    http://www.csdn.net/Develop/Read_Article.asp?Id=5361
    http://expert.csdn.net/Expert/TopicView1.asp?id=1187765
    http://expert.csdn.net/Expert/TopicView1.asp?id=1149072
    http://expert.csdn.net/Expert/TopicView1.asp?id=1270196
      

  16.   

    真的要解决跨浏览器的话,用WEB FORM吧?
      

  17.   

    呵呵,推销.net来啦?
    动不动就 runat=server 那一套,我会受不了的。
      

  18.   

    解答别人问题的时候又写了一段,也是常用的脚本,IE5,NS6.2通过。<HTML>
    <HEAD>
    <TITLE> emu </TITLE>
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    function exchange(v){
    elm1=document.getElementsByName("s1")[v];
    elm2=document.getElementsByName("s1")[1-v];
    for (var i=elm1.length-1;i>-1;i--){
    op=elm1.options[i];
    if (op.selected){
    elm2.options[elm2.length]=new Option(op.text,op.value);
    elm1.options[i]=null;
    }
    }
    }
    //-->
    </SCRIPT>
    </HEAD><BODY>
    <select size=10 name=s1 style="width:100" multiple>
    <option>test0</option>
    <option>test1</option>
    <option>test2</option>
    <option>test3</option>
    <option>test4</option>
    <option>test5</option>
    <option>test6</option>
    <option>test7</option>
    <option>test8</option>
    <option>test9</option>
    </select>
    <select size=10 name=s1 style="width:100" multiple></select>
    <BR> &nbsp; &nbsp; &nbsp;
    <input type=button value=">>" onclick="exchange(0)"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
    <input type=button value="<<" onclick="exchange(1)">
    </BODY>
    </HTML>
      

  19.   

    做跨浏览器的东西确实很麻烦,要兼顾ie4,ie5,ie6,ns4,ns6,甚至还有Mac上的ie。做完以后每个都测试过去,实在是很累人。
      

  20.   

    <HTML>
    <HEAD>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <TITLE> emu </TITLE>
    <META NAME="Author" CONTENT="emu(ston)">
    <META NAME="Keywords" CONTENT="javascript">
    <META NAME="Description" CONTENT="emu's test page">
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    var isIE = document.all?true:false;
    var dlgArgs=null;
    function modal(url,arg,windowFeatures){
    dlgArgs=arg;
    if (isIE){
    showModalDialog(url,window,windowFeatures)
    }else{
    window.open(url, "_blank", "modal=yes,"+windowFeatures.replace(/dialog(\w*)=/g,"$1="));
    }
    }
    function modalless(url,arg,windowFeatures){
    dlgArgs=arg;
    if (isIE)
    showModelessDialog(url,window,windowFeatures)
    else
    window.open(url, "_blank", "dependent=yes,"+windowFeatures.replace(/dialog(\w*)=/g,"$1="));
    }
    //-->
    </SCRIPT>
    </HEAD><BODY>
    <button onclick="javascript:modal('http://www.csdn.net','test','dialogWidth=150px;dialogHeight=150px;dialogLeft=0;dialogTop=0')">modal</button>
    <button onclick="javascript:modalless('http://www.csdn.net','test','dialogWidth=150px;dialogHeight=150px;dialogLeft=0;dialogTop=0')">modalless</button>
    <BR>
    </BODY>
    </HTML>
    dialog窗口中引用参数时不直接使用dialogArguments,而通过:
    (document.all==null?opener.dlgArgs:dialogArguments.dlgArgs)
    来引用参数。
      

  21.   

    我们应该做一个应用程序,把一些规范都应用到程序中,然后让她自动生成相应的代码,当然要比 DW,FP 好用,因为还可以生成 HTC,WSC, 还可以自己加入规则,本人在不断幻想中...
      

  22.   

    稍作改动,可以在NS和IE上画图了,可是NS跟IE有点不大一样:像素点好像要细一点,速度也要慢一点。<html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>emu's paint without vlm</title>
    </head>
    <body>
    <button onclick="testDrawCurve()">画曲线</button>
    <button onclick="testDrawArc()">画弧线</button>
    <button onclick="testDrawCircle()">画圆</button>
    <button onclick="testDrawLine()">画线</button>
    <button onclick="testDrawRectangle()">画矩形</button>
    <button onclick="testDrawPie()">画饼图</button>
    <div id=canvas></div>
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    var div1 = document.getElementById("canvas")
    function testDrawCurve()
    {
    div1.innerHTML = drawCurve();
    }
    function testDrawArc()
    {
    div1.innerHTML =drawArc(150,150,100,0,270,"blue")
    }
    function testDrawCircle()
    {
    div1.innerHTML = drawCircle(200,200,150,"blue");
    }
    function drawCircle(x0,y0,radius,color)
    {
    return drawArc(x0,y0,radius,0,360,color)
    }
    function testDrawLine()
    {
    div1.innerHTML = drawLine(100,200,500,200,"yellow")+drawLine(300,100,300,400,"black")+drawLine(600,400,100,100,"violet")
    }
    function testDrawRectangle()
    {
    div1.innerHTML = drawRectangle(200,100,600,200,"blue")+drawRectangle(100,200,400,500,"red")
    }
    function testDrawPie()
    {
    div1.innerHTML = drawPie(300,200,120,0,45,"red");
    }function drawLine(x0,y0,x1,y1,color)
    {
    var rs = "";
    if (y0 == y1)  //画横线
    {
    if (x0>x1){var t=x0;x0=x1;x1=t}  
    rs = "<span style='top:"+y0+";left:"+x0+";position:absolute;font-size:1px;background-color:"+color+";height:1; width:"+Math.abs(x1-x0)+"'></span>";
    }
    else if (x0 == x1)  //画竖线
    {
    if (y0>y1){var t=y0;y0=y1;y1=t} 
    rs = "<span style='top:"+y0+";left:"+x0+";position:absolute;font-size:1px;background-color:"+color+";width:1;height:"+Math.abs(y1-y0)+"'></span>";
    }
    else
    {
    var lx = x1-x0
    var ly = y1-y0
    var l = Math.sqrt(lx*lx+ly*ly)
    rs = new Array();
    for (var i=0;i<l;i+=1)
    {
    var p = i/l;
    var px = parseInt(x0 + lx*p);
    var py = parseInt(y0 + ly*p);
    rs[rs.length] = "<span style='top:"+py+";left:"+px+";height:1;width:1;position:absolute;font-size:1px;background-color:"+color+"'></span>";
    }
    rs = rs.join("");
    }
    return rs
    }
    function drawRectangle(x0,y0,x1,y1,color)
    {
    if (x0 == x1 || y0 == y1) return;
    if (x0>x1) {var t=x0;x0=x1;x1=t}
    if (y0>y1) {var t=y0;y0=y1;y1=t}
    return "<table style='top:"+y0+";left:"+x0+";position:absolute'><td bgcolor="+color+" width="+(x1-x0)+" height="+(y1-y0)+"></td></table>";
    }
    function drawPie(x0,y0,radius,startAngle,endAngle,color)
    {
    var rs = drawArc(x0,y0,radius,startAngle,endAngle,color)
    startAngle = startAngle/360*Math.PI*2;
    endAngle = endAngle/360*Math.PI*2;
    var startx=Math.sin(startAngle)*radius+x0;
    var endx=Math.sin(endAngle)*radius+x0;
    var starty=Math.cos(startAngle)*radius+y0;
    var endy=Math.cos(endAngle)*radius+y0;
    rs += drawLine(x0,y0,startx,starty,color)
    rs += drawLine(x0,y0,endx,endy,color)
    return rs;
    }
    function drawArc(x0,y0,radius,startAngle,endAngle,color)
    {
    rs = new Array();
    tmpar = new Array();
    startAngle = startAngle/360*Math.PI*2;
    endAngle = endAngle/360*Math.PI*2;
    for (var i=startAngle;i<endAngle;i+=(1/radius))
    {
    var dx = parseInt(Math.sin(i)*radius+x0);
    var dy = parseInt(Math.cos(i)*radius+y0);
    rs[rs.length] = "<span style='top:"+dy+";left:"+dx+";position:absolute;height:1;width:1;position:absolute;font-size:1px;background-color:"+color+"'></span>";
    }
    return (rs.join(""));
    }
    function drawCurve()
    {
    var rs = new Array();
    for (var i=0;i<2*Math.PI;i+=.01)
    {
    var x = parseInt(300-Math.sin(i)*100)
    var y = parseInt(300-Math.cos(i)*100)
    rs[rs.length] = "<span style='top:"+x+";left:"+(i*100+90)+" ;height:1;width:1;position:absolute;font-size:1px;background-color:blue'></span>";
    rs[rs.length] = "<span style='top:"+y+";left:"+(i*100+90)+" ;height:1;width:1;position:absolute;font-size:1px;background-color:blue'></span>";
    }
    return rs.join("");
    }
    //-->
    </SCRIPT>
    </body>
    </html>
      

  23.   

    都说select是IE的一个bug,却不知道ns下面的select也有bug呢:<BODY>
    <select size=10 id=test>
    <option>test</option>
    <option>test</option>
    <option>test</option>
    <option>test</option>
    </select>
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    var t = document.getElementById("test");
    for (var i=0;i<t.length;i++)
    t[i].selected=true
    //-->
    </SCRIPT>
    </BODY>NS显然在处理selected的时候忘了看看select是不是multiple的呵呵
    NS6.2下面出错。
      

  24.   

    NS6.0下面没有错:) , 不知道NS7.0如何呢?
      

  25.   

    ASP.NET WEBFORM 我还是比较倾向于这个。http://www.hexiesoft.net/
      

  26.   

    就为了IE 和 NG不一样,就要编两套?还要学两套?学完了NG上还不晓得有几个人会用,太失败了。
      

  27.   

    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <META NAME="Author" CONTENT="emu(ston)">
    <META NAME="Keywords" CONTENT="javascript,chart">
    <title>emu's paint without vlm</title>
    </head>
    <body>
    <button onclick="testDrawCurve()">画曲线</button>
    <button onclick="testDrawArc()">画弧线</button>
    <button onclick="testDrawCircle()">画圆</button>
    <button onclick="testDrawLine()">画线</button>
    <button onclick="testDrawRectangle()">画矩形</button>
    <button onclick="testDrawPie()">画饼图</button>
    <div id=canvas></div>
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    var div1 = document.getElementById("canvas")
    function testDrawCurve()
    {
    div1.innerHTML = drawCurve();
    }
    function testDrawArc()
    {
    div1.innerHTML =drawArc(150,150,100,0,270,"blue")
    }
    function testDrawCircle()
    {
    div1.innerHTML = drawCircle(200,200,150,"blue");
    }
    function drawCircle(x0,y0,radius,color)
    {
    return drawArc(x0,y0,radius,0,360,color)
    }
    function testDrawLine()
    {
    div1.innerHTML = drawLine(100,200,500,200,"yellow")+drawLine(300,100,300,400,"black")+drawLine(600,400,100,100,"violet")
    }
    function testDrawRectangle()
    {
    div1.innerHTML = drawRectangle(200,100,600,200,"blue")+drawRectangle(100,200,400,500,"red")
    }
    function testDrawPie()
    {
    div1.innerHTML = drawPie(300,200,99,0,45,"red")+drawPie(300,200,99,45,110,"blue")+drawPie(300,200,99,110,250,"yellow")+drawPie(300,200,99,250,360,"green");
    }function drawLine(x0,y0,x1,y1,color)
    {
    var rs = "";
    if (y0 == y1)  //画横线
    {
    if (x0>x1){var t=x0;x0=x1;x1=t}  
    rs = "<span style='top:"+y0+";left:"+x0+";position:absolute;font-size:1px;background-color:"+color+";height:1; width:"+Math.abs(x1-x0)+"'></span>";
    }
    else if (x0 == x1)  //画竖线
    {
    if (y0>y1){var t=y0;y0=y1;y1=t} 
    rs = "<span style='top:"+y0+";left:"+x0+";position:absolute;font-size:1px;background-color:"+color+";width:1;height:"+Math.abs(y1-y0)+"'></span>";
    }
    else
    {
    var lx = x1-x0
    var ly = y1-y0
    var l = Math.sqrt(lx*lx+ly*ly)
    rs = new Array();
    for (var i=0;i<l;i+=1)
    {
    var p = i/l;
    var px = parseInt(x0 + lx*p);
    var py = parseInt(y0 + ly*p);
    rs[rs.length] = "<span style='top:"+py+";left:"+px+";height:1;width:1;position:absolute;font-size:1px;background-color:"+color+"'></span>";
    }
    rs = rs.join("");
    }
    return rs
    }
    function drawRectangle(x0,y0,x1,y1,color)
    {
    if (x0 == x1 || y0 == y1) return;
    if (x0>x1) {var t=x0;x0=x1;x1=t}
    if (y0>y1) {var t=y0;y0=y1;y1=t}
    return "<table style='top:"+y0+";left:"+x0+";position:absolute'><td bgcolor="+color+" width="+(x1-x0)+" height="+(y1-y0)+">&nbsp;</td></table>";
    }
    function drawPie(x0,y0,radius,startAngle,endAngle,color)
    {
    var rs = drawArc(x0,y0,radius,startAngle,endAngle,color)
    var d=5
    for (var i=d;i<radius;i+=d)
    rs += drawArc(x0,y0,i,startAngle,endAngle,color,d)
    startAngle = startAngle/360*Math.PI*2;
    endAngle = endAngle/360*Math.PI*2;
    var startx=Math.sin(startAngle)*radius+x0;
    var starty=Math.cos(startAngle)*radius+y0;
    rs += drawLine(x0,y0,startx,starty,color)
    // var endx=Math.sin(endAngle)*radius+x0;
    // var endy=Math.cos(endAngle)*radius+y0;
    //rs += drawLine(x0,y0,endx,endy,color)
    return rs;
    }
    function drawArc(x0,y0,radius,startAngle,endAngle,color,step)
    {
    if (step == null || isNaN(step)) step=1;
    rs = new Array();
    tmpar = new Array();
    startAngle = startAngle/360*Math.PI*2;
    endAngle = endAngle/360*Math.PI*2;
    for (var i=startAngle;i<endAngle;i+=(step/radius))
    {
    var dx = parseInt(Math.sin(i)*radius+x0);
    var dy = parseInt(Math.cos(i)*radius+y0);
    rs[rs.length] = "<span style='top:"+dy+";left:"+dx+";position:absolute;height:1;width:1;position:absolute;font-size:1px;background-color:"+color+"'></span>";
    }
    return (rs.join(""));
    }
    function drawCurve()
    {
    var rs = new Array();
    for (var i=0;i<2*Math.PI;i+=.01)
    {
    var x = parseInt(300-Math.sin(i)*100)
    var y = parseInt(300-Math.cos(i)*100)
    rs[rs.length] = "<span style='top:"+x+";left:"+(i*100+90)+" ;height:1;width:1;position:absolute;font-size:1px;background-color:blue'></span>";
    rs[rs.length] = "<span style='top:"+y+";left:"+(i*100+90)+" ;height:1;width:1;position:absolute;font-size:1px;background-color:blue'></span>";
    }
    return rs.join("");
    }
    //-->
    </SCRIPT>
    </body>
    </html>
      

  28.   

    学习学习。
    不过我觉得,只要抓住ie和其他浏览器的关键结构就可以做到兼容,下面是一些老外使用的方法。
      function lib_bwcheck(){ 
    this.ver=navigator.appVersion; 
    this.agent=navigator.userAgent
    this.dom=document.getElementById?1:0
    this.win = (navigator.appVersion.indexOf("Win")>0);
        this.xwin = (navigator.appVersion.indexOf("X11")>0);
    this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom)?1:0;
    this.ie6=(this.ver.indexOf("MSIE 6")>-1 && this.dom)?1:0;
    this.ie4=(document.all && !this.dom)?1:0;
    this.ie=this.ie4||this.ie5||this.ie6
    this.mac=this.agent.indexOf("Mac")>-1
    this.opera5=this.agent.indexOf("Opera 5")>-1
    this.ns6=(this.dom && parseInt(this.ver) >= 5) ?1:0; 
    this.ns4=(document.layers && !this.dom)?1:0;
    this.bw=(this.ie6 || this.ie5 || this.ie4 || this.ns4 || this.ns6 || this.opera5 || this.dom||false);
        this.width = null;
        this.height = null;
    return this
    }  var bw = new lib_bwcheck();function makeLayer( idStr ) {
    this.idStr = idStr;
    if(bw.ns4)this.idPtr=document.layers[idStr];
    else if (bw.ns6) this.idPtr = document.getElementById(idStr);
    else this.idPtr = eval('document.all.'+idStr);
    this.makeAnimate = makeAnimate;
    //this.makeLoadable  = X69fe74;
    //this.makeDragable  = dragWin;
    //this.makePanel   = lab_makePanel;
    //this.startAni=startAni;
    this.moveTo=lib_moveTo;
    this.moveBy=lib_moveBy;
    this.clipTo=lib_clipTo;
    this.show=lib_showIt;
    this.hide=lib_hideIt;
    this.zoomTo=lib_zoomTo;
    this.x = getLayerX(this.idStr);
    this.y = getLayerY(this.idStr);
    this.z = getZIndex(this.idStr);
    this.sh = getLayerSH(this.idStr);
    this.sw = getLayerSW(this.idStr); if (bw.ns6) this.css=this.idPtr.style;
    else if (bw.ns) this.css=this.idPtr;
    else this.css=this.idPtr.style;

    return (this);
    }//得到逻辑对象的名字
    function getNameByIdstr(idstr){
        var beginnum=idstr.indexOf("_")+1;//异常处理!!!!!
    var name=idstr.slice(beginnum);
    return name;
    }
    /***************************************************************************************************
                                                                  常用函数
    ***************************************************************************************************/
    function lib_clipTo(t,r,b,l,setwidth){ 
    if(t<0)t=0;
    if(r<0)r=0;
    if(b<0)b=0;
    if(l<0)l=0;
    this.ct=t;
    this.cr=r;
    this.cb=b;
    this.cl=l
    if(bw.ns4){
    this.css.clip.top=t;
    this.css.clip.right=r;
    this.css.clip.bottom=b;
    this.css.clip.left=l;
    }else if(bw.opera5){
         this.css.pixelWidth=r;
        this.css.pixelHeight=b;
        this.w=r;
        this.h=b
    }else{
    this.css.clip="rect("+t+","+r+","+b+","+l+")";
    if(setwidth){
        this.css.width=r;
    this.css.height=b;
    this.w=r;
    this.h=b
    }
    }
    }
    function lib_moveTo(x,y){
        this.x=x!=''?x:this.x;
    this.y=y!=''?y:this.y;
    this.css.left=this.x;
    this.css.top=this.y
    }function lib_moveBy(x,y){
         this.moveTo(this.x+x,this.y+y)
    }function lib_showIt(){
         this.css.visibility="visible";
     this.visible=true;
    }function lib_hideIt(){
         this.css.visibility="hidden";
     this.visible=false;
    }
      function getBwSize() {
    if (bw.compatible) {
       if (bw.ie) {
          bw.width = document.body.clientWidth;
      bw.height = document.body.clientHeight;
    }else if (bw.ns4) {
      bw.width = window.innerWidth;
      bw.height = window.innerHeight;
      document.all = document;
      X409330();
    }else if (bw.ns6) {
      bw.width = window.innerWidth;
      bw.height = window.innerHeight;
    }else if(bw.opera) {
      bw.width = window.innerWidth;
      bw.height = window.innerHeight;
    }

    return (true);
    }else {
       alert('非常不幸的是你的浏览器或操作系统不支持我们目前的站点,你将被重定向到我的个人网站www.llrock.com');
       location.href='http://www.llrock.com';
    } }

    function lib_zoomTo(scale){
       this.scale=scale;
       this.css.zoom=scale;
    }
    function moveByIt( ID, x, y) {
    if (bw.ns6) {
    var thisID = document.getElementById(ID);
    thisID.style.left = parseInt(thisID.style.left)+x;
    thisID.style.top = parseInt(thisID.style.top)+y;
    }else if (bw.ns) {
    document.layers[ID].moveBy(x, y);
    }else {
    var thisID = document.all[ID];
    thisID.style.pixelLeft = parseInt(thisID.style.pixelLeft)+x;
    thisID.style.pixelTop = parseInt(thisID.style.pixelTop)+y;
    }
    }


    function moveToIt( ID, x, y) {
    if (bw.ns6) {
    var thisID = document.getElementById(ID);
    thisID.style.left = x;thisID.style.top = y;
    }else if (bw.ns) {
    document.layers[ID].moveTo(x, y);
    }else {
    var thisID = document.all[ID];
    thisID.style.pixelLeft = x;
    thisID.style.pixelTop = y;
    }
    }

    function resizeByIt( ID, w, h) {
    if (bw.ns6) {
    var thisID = document.getElementById(ID);
    thisID.style.width = (parseInt(thisID.style.offsetWidth)+w+"px");
    thisID.style.height = (parseInt(thisID.style.offsetHeight)+h+"px");
    }else if (bw.ns) {
    document.layers[ID].resizeBy(w,h);
    }else {
    var thisID = document.all[ID];
    thisID.style.pixelWidth = thisID.offsetWidth+w;
    thisID.style.pixelHeight = thisID.offsetHeight+h;
    }
    }

    function resizeToIt( ID, w, h) {
    if (bw.ns6) {
    var thisID = document.getElementById(ID);
    thisID.style.width = w+"px";thisID.style.height = h+"px";
    }else if (bw.ns) {
    document.layers[ID].resizeTo(w,h);
    document.layers[ID].document.width = w;
    document.layers[ID].document.height = h;
    }else {
    var thisID = document.all[ID];
    thisID.style.pixelWidth = w;
    thisID.style.pixelHeight = h;
    }
    }

    function getObjectById( ID ) {
    if (bw.ns6) return document.getElementById(ID);
    else if (bw.ns) return document.layers[ID];
    else return document.all[ID];
    }


       function getLayerX( ID ) {
       if (bw.ns6) return(parseInt(document.getElementById(ID).style.left));
       else if (bw.ns) return(document.layers[ID].left);
       else return(document.all[ID].offsetLeft);
    }
      
       
    function getLayerY( ID ) {
    if (bw.ns6) return(parseInt(document.getElementById(ID).style.top));
    else if (bw.ns) return(document.layers[ID].top);
    else return(document.all[ID].offsetTop);
    }
       function getLayerSW( ID ) {
       if (bw.ns6) {
       if(isNaN(parseInt(document.getElementById(ID).style.width))) return(parseInt(document.defaultView.getComputedStyle(document.getElementById(ID),null).getPropertyValue('width')));
       else if(parseInt(document.getElementById(ID).style.width)==0) return(parseInt(document.defaultView.getComputedStyle(document.getElementById(ID),null).getPropertyValue('width')));
       else return(parseInt(document.getElementById(ID).style.width));
       }else if (bw.ns) return(document.layers[ID].document.width);
             else return(document.all[ID].scrollWidth);
    }
       function getLayerSH( ID ){
    if (bw.ns6) {
       if(isNaN(parseInt(document.getElementById(ID).style.height))) return(parseInt(document.defaultView.getComputedStyle(document.getElementById(ID),null).getPropertyValue('height')));
       else if(parseInt(document.getElementById(ID).style.height)==0) return(parseInt(document.defaultView.getComputedStyle(document.getElementById(ID),null).getPropertyValue('height')));
       else return(parseInt(document.getElementById(ID).style.height));
    }else if (bw.ns) return(document.layers[ID].document.height);
    else return(document.all[ID].scrollHeight);
    }
    function getLayerW( ID ) {
    if (bw.ns6) return(parseInt(document.getElementById(ID).style.width));
    else if (bw.ns) return(document.layers[ID].document.width);
    else return(document.all[ID].offsetWidth);
    }
      

  29.   

    function getLayerH( ID ){
         if (bw.ns6) return(parseInt(document.getElementById(ID).style.height));
    else if (bw.ns) return(document.layers[ID].document.height);
    else return(document.all[ID].offsetHeight);
    }
    function X19c797( ID ) {
    return (getLayerSW( ID ) + getLayerX( ID ));
    }


    function X5671f1( ID ) {
    return (getLayerSH( ID ) + getLayerY( ID ));
    }


    function getVisibility( ID ) {
    if (bw.ns6) return(document.getElementById(ID).style.visibility!="hidden");
    else if (bw.ns) return(document.layers[ID].visibility!="hide");
    else return(document.all[ID].style.visibility!="hidden"&&document.all[ID].style.visibility!="HIDDEN");
    }

    function getZIndex( ID ) {
    if (bw.ns6) return(document.getElementById(ID).style.zIndex);
    else if (bw.ns) return(document.layers[ID].zIndex);
    else return(document.all[ID].style.zIndex);
    }

    function changeZIndex( ID, z ) {
    if (bw.ns6) document.getElementById(ID).style.zIndex = z;
    else if (bw.ns) document.layers[ID].zIndex = z;
    else document.all[ID].style.zIndex = z;
    }

    function showLayer( ID ) {
    if (bw.ns6) {
    document.getElementById(ID).style.visibility = "visible";
    document.getElementById(ID).style.pixelHeight = getLayerSH(ID);
    }else if (bw.ns) {
    document.layers[ID].visibility = "show";
    document.layers[ID].clip.height = getLayerSH(ID);
    }else {
    document.all[ID].style.visibility = "visible";
    document.all[ID].style.pixelHeight = getLayerSH(ID);
    }
    }
    function hideLayer( ID ) {
    if (bw.ns6) {
    document.getElementById(ID).style.visibility = "hidden";
    document.getElementById(ID).style.pixelHeight = 0;
         }else if (bw.ns) {
    document.layers[ID].visibility = "hide";
    document.layers[ID].clip.height = 0;
    }else {
    document.all[ID].style.visibility = "hidden";
    document.all[ID].style.pixelHeight =0;
    }
    }

    function X3324ad( ID, x, y) {
    var Xc3efd = false;
    if ((x>=getLayerX(ID)) && (x<=(getLayerX(ID)+getLayerSW(ID))));
    if ((y>=getLayerY(ID)) && (y<=(getLayerY(ID)+getLayerSH(ID)))) Xc3efd = true;
    return (Xc3efd);
    }

    function X409330() {
    document.orPageWidth = innerWidth;
    document.orPageHeight = innerHeight;
    onresize = X5d893b;
    }

    function X5d893b() {
    if (innerWidth != document.orPageWidth || innerHeight != document.orPageHeight) location.reload();
    }

    function loadImg() {
    if (document.images) {
    var imgStr = loadImg.arguments;
    if (!document.preloadArray) document.preloadArray = new Array();
    var n = document.preloadArray.length;
    for (var i=0; i<loadImg.arguments.length; i++) {
    document.preloadArray[n] = new Image;
        document.preloadArray[n].src = imgStr[i];n++;
    }
    }
    }

    function makeImgSrc(imgSRC,imgID) {
    if (bw.ns4 && makeImgSrc.arguments.length > 2) {
    var thisDocument = '';
    for (var i=(makeImgSrc.arguments.length-1) ; i>=2 ; i--) {
    thisDocument += 'document.layers["'+makeImgSrc.arguments[i]+'"].';
    }
    thisDocument += 'document.images["'+imgID+'"].src="'+imgSRC+'"';
    eval(thisDocument);
    }else document.images[imgID].src = imgSRC;
    }

    function changeContent( ID, str) {
    if (bw.ns4) {
    document.layers[ID].document.open();
        document.layers[ID].document.write(str);
        document.layers[ID].document.close();
    }else if(bw.ns6) {
    if(bw.mac) str += "<br>";document.getElementById(ID).innerHTML = str;
         }else if(bw.ie) {
    if(bw.mac) str += "<br>";document.all[ID].innerHTML = str;
    }
    }
    function clipTo( ID, x, y, w, h) {
    if (bw.ns4) {
    document.layers[ID].clip.left = x;
    document.layers[ID].clip.top = y;
    document.layers[ID].clip.width = w;
    document.layers[ID].clip.height = h;
    }else{
    if(bw.ns6) the_elt = document.getElementById(ID);
    else if(bw.ie) the_elt = document.all[ID];
    var the_clip = "rect("+y+"px "+w+"px "+h+"px "+x+"px)";
    the_elt.style.clip = the_clip;the_elt.style.overflow = "hidden";
    }
    }


    function setBgColor( ID, C ) {
    if (bw.ns4) {
    document.layers[ID].bgColor = C;
    }else if(bw.ns6) {
    document.getElementById(ID).style.backgroundColor = C;
    }else if(bw.ie) {
    document.all[ID].style.backgroundColor = C;
    }
    }
      

  30.   

    http://expert.csdn.net/Expert/topic/1574/1574002.xml?temp=.3923456<input id=theFile type=file style="display:none">
    <button onclick="var o=document.getElementById("theFile");o.click();alert(o.value)">select file</button>在Netscape和Mozilla不起作用PS: 
    Mozilla 中带的JavaScript Debugger怎么开始调试一个已打开的文档呀?
      

  31.   

    wsj(骆驼) :
    这个我也搞不定 :)