user-pic

[重发旧文]论坛开发和HTML/JS兼容

Vote 0 Votes

整理硬盘,删除掉些东西。干脆重发到BBS上作为备份。

标题: [讨论]关于论坛开发的几点建议。

近来研究HTML和js语法。对leo程序的HTML语法和js代码有点小小的看法。
1,尽量少用只有ie支持的HTML扩展HTML代码。。
leobbsx现在的forums.cgi上面的介绍就用了非正规的HTML代码。使在NS和Mozilla下界面难看的厉害。。。
2。JS要操作<div> 和<span> 的内容。。请使用符合CSS2+HTML3标准的DOM接口。现在的forums.cgi展开帖子(就是哪个+号)和帖子里广告和虚拟形象和COOL字体转化都采用了all.name方式的调用。但是all方式只有ie支持。。所以在非ie下这个都不能显示。。。。
正确的应该用document.getElementById方式调用的。。。

13 Replies

| Add a Reply
  • [郁闷+灌水]再谈leobbsx系列的js兼容问题。

    近来一直使用的非ie内核的浏览器,然后看看lb的js,问题多多挖。。没有想到里面的js部分几乎全部是base on ie的Dom接口的。。。
    也就是都是使用的document.all方式而不是HTML3+CSS2标准之document.getElementById方式。

    牵扯到的程序有:
    1.RoyRoy的forums.cgi帖子展开。。在非ie下根本不显示。
    2.COOL字体转化。这个在board.js里面。也是对<span>操作的DOM接口不对,无法使用。
    3.3face。这个居然全部是ie方式写的。大量的js呀,而且已经是官方重要功能了。。。ft,去了一次3元,发现阿强的所有程式全部base on "document.all"方式!,汗。就是他的所有程式都是对ie支持的。
    4.BigJim的插件。。写法基本同阿强,多了ie5.5+的判断,但是也是base on "document.all" 的。比如leo官方的现在的体育博彩就是操作(显隐)<span><div>的代码就是不能正常。
    还有许多不起眼的小问题。比如说那个小ctrl+enter提交js也不兼容。。

    js操作<span><div>的内容现在已经是阿强和BigJim程序的特点了,优点很多。节省资源,美观等等,但是却不幸的使用了ie专用的DOM接口。

    修改起来。。工作量很大。而且就路杨对js的三脚猫的水平。只能提提而已了。。

    比如,3face现在在board.js里面的显示代码为:


    var _Num=1;
    function Face_Info(face,ImgURL){
    var showArray=face.split('-');var s="";
    document.write("<DIV id=SHOW"+_Num+" style='padding:0;position:relative;top:0;left:0;width:140;height:226' title=论坛虚拟形象></DIV>");
    for (var i=0; i<=25; i++){if(showArray[i] != '0'){s+="<IMG src="+ImgURL+"/face/"+i+"/"+showArray[i]+".gif style='padding:0;position:absolute;top:0;left:0;width:140;height:226;z-index:"+i+";'>";}}
    s+="<IMG src="+ImgURL+"/face/blank.gif style='padding:0;position:absolute;top:0;left:0;width:140;height:226;z-index:50;'>";
    var _FACE=eval("SHOW"+_Num);_FACE.innerHTML=s;_Num++;
    }

    这段代码会在非ie内核的浏览器(当然是高版本,低版本的不说)下报告SHOW1 is undefine ,就是接口问题,可以尝试改成

    var _FACE=document.getElementById("SHOW"+_Num);

    就可以同时在ie和其他支持js的非ie内核的浏览器同时正常显示虚拟形象了。。

    并非吹毛求疵,纯技术研究而已。。究竟现在几乎ie一统天下。ft..

  • 近来去沙滩小子那里逛逛。。发现整个页面分论坛都显示不了。奇怪ing。。分析代码。发现整个页面论坛显示全部用了js的正则/替换/splite 完成。。
    于是彻底ft。。这个功能只有ie5.5+ Moziila 1.3b(Maybe?我记不清楚了)才支持。。而我目前的浏览器是Base ie5.01 -_-bbbbbb

  • 你有空去动网6.1的论坛去看看,估计你什么都看不到了

  • 下面引用由hztz在 2004/12/02 07:39pm 发表的内容:
    你有空去动网6.1的论坛去看看,估计你什么都看不到了

    本。。沙滩小子的程序不就是Dvbbs吗?哈哈:)  :em04:
  • 下面引用由路杨在 2004/12/02 07:42pm 发表的内容:
    本。。沙滩小子的程序不就是Dvbbs吗?哈哈:)

    我知道呀。现在是7.0,部分js化。 我说的6.1完全js化了。。。
  • 下面引用由hztz在 2004/12/02 07:44pm 发表的内容:
    我知道呀。现在是7.0,部分js化。 我说的6.1完全js化了。。。

    恩。。他的js化兼容性太差。。
  • 習慣使用IE做調試
    也忘了那getElementById的寫法
    因而做成這的結果...

  • ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    不过这还真难呢
    JS和Javascipt本来就是两个公司开发的
    Sun和微软不可能会考虑到广大群众的意见而合并的
    所以说现在考虑到windows用户的需求就可以呢
    毕竟
    用其他操作系统的人还是少数

  • 下面引用由曾子程在 2004/12/05 11:28am 发表的内容:
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    不过这还真难呢
    JS和Javascipt本来就是两个公司开发的
    Sun和微软不可能会考虑到广大群众的意见而合并的
    ...

    呵呵。有统一的标准的。。只要不要使用专用的之命令就是。
  • 下面引用由曾子程在 2004/12/05 11:28am 发表的内容:
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    不过这还真难呢
    JS和Javascipt本来就是两个公司开发的
    Sun和微软不可能会考虑到广大群众的意见而合并的
    ...

    6. Does GD run with Win32 Perl?

      The latest ActiveState binaries for Win32 systems come with GD already compiled in and ready to go. I don't own any Win32 systems, and cannot provide you with help in compiling GD from scratch on such systems.
  • 最好的办法是不用js……

    PS:论坛上方的下拉菜单在opera里面无效。为此我专门在自己论坛开了一个控制中心页。

  • 下面引用由Anthony在 2004/12/05 04:46pm 发表的内容:
    6. Does GD run with Win32 Perl?
      The latest ActiveState binaries for Win32 systems come with GD already compiled in and ready to go. I don't own any Win32 systems, and cannot provide you wi ...


    别拿开发人员说事
    先考虑广大论坛用户的说
  • 咳嗽。。。看到一帮高手。。。

    景仰景仰。。。

Add a Reply

Forum Groups

Good Perl Books

Perl 學習手札

作者:簡信昌

Perl 學習手札 , 一本优秀的中文Perl在线学习资料。

Perl 程序讨论区

12 50

Last Topic: [注意]本区文章归档区 by 路杨 on Oct 16, 2006

事物处理及其他

113 1410

Last Topic: 踩个脚印 by 眼睛oo on Dec 4, 2010

测试私密区

测试私密区

18 88

Notice: 用于测试程序或者不可告人之秘密。不要问我要密码哦。。[此为原LB_ES论坛系统保留项,只限原有权限朋友进入,不再接受注册]

OpenID accepted here Learn more about OpenID