整理硬盘,删除掉些东西。干脆重发到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方式调用的。。。
[郁闷+灌水]再谈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
-----
EXCERPT:
你有空去动网6.1的论坛去看看,估计你什么都看不到了
本。。沙滩小子的程序不就是Dvbbs吗?哈哈:) :em04:
我知道呀。现在是7.0,部分js化。 我说的6.1完全js化了。。。
恩。。他的js化兼容性太差。。
習慣使用IE做調試
也忘了那getElementById的寫法
因而做成這的結果...
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
不过这还真难呢
JS和Javascipt本来就是两个公司开发的
Sun和微软不可能会考虑到广大群众的意见而合并的
所以说现在考虑到windows用户的需求就可以呢
毕竟
用其他操作系统的人还是少数
呵呵。有统一的标准的。。只要不要使用专用的之命令就是。
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里面无效。为此我专门在自己论坛开了一个控制中心页。
靠
别拿开发人员说事
先考虑广大论坛用户的说
咳嗽。。。看到一帮高手。。。
景仰景仰。。。