28
九月
2008
Author: 沈胜衣
In: SQLReport, 软件行业, 网页开发
Finally, I decided to put the project “SQL Report”into Google Code as a open source project, including all of the source code, binaries and documents. I have wrote a few document for SQL Report in Chinese, this may be the first document in English. I have to prey my pool English...
[更多...]
24
五月
2008
Author: 沈胜衣
In: 网页开发
我不是第一次碰到IE6解析Javascript的注释出现的错误了,前次是//注释引发的错误,而这次则是/**引发的错误,而且比较奇怪的是,这个错误只有在特定的脚本内容才会发生。最邪门的是,两次都是在IIS服务器下面,而在Tomcat服务器下面访问,直接使用本地文件访问都没有问题,郁闷啊。
先看脚本,在一个
1: if(null==window.getScriptUrl)
2: {
3: /*注意,这个函数目前只在IE下测试通过,FF下测试没能通过*/
4: window.getScriptUr...
[更多...]
7
五月
2008
Author: 沈胜衣
In: JAVA, SQLReport, 网页开发
在之前的文章中,我说道:之所以没有选择Flex下的图形展现工具是因为在这个FusionCharts的组件中存在问题,设置图形的高度和宽度需要强制指定像素值。
而在今天,我成功的解决了这个问题,实际上,这个问题并非对方的缺陷,而是我自己没有下功夫去研究这个东西。
在FusionChats包中重要的JS文件为 FusionCharts.js文件,调用的函数为
infosoftglobal.FusionCharts = function(swf, id, w, h, debugMode, registerWithJS, c, scaleMode, lang, ...
[更多...]
12
四月
2008
Author: 沈胜衣
In: SQLReport, 网页开发
我一直主张,如果自己都TM觉得不好的东西,不要轻易给别人用,原因很简单,老夫很要强,也很懒,我在追求最好的东西,所以我不断的改进,只是因为我有了这个一个东西,这个就是程序员最TM简单的责任,对你自己的代码负责,可惜,这个时代,大量的人忘记了这个规则,很多程序员都不负责任,都不知道自己的代码对他自己来说意味着什么。
的确,什么也不是。
如果什么也不是,那么的确意味着Nothing.
CoverWindow在之前利用的时候都比较好,但是缺少拖拽的功能,本次增加了这个功能,同时也修正了一些缺陷,例如
动画的显示问题
背景颜色的问题。
...
[更多...]
7
三月
2008
Author: 沈胜衣
In: 网页开发
在之前的这篇文章中,我弄了一个跨帧菜单,但是在IE7下面出现显示错位,经过一个下午的摸索,总算找到了因由,代码没错,是IE安全设置的问题。
解决IE7屏蔽二级PopupWindow大小和位置的方法:
打开IE7,
如果您的IE7样子和图片一样没有菜单栏目,请按下Alt键盘,打开菜单
选择工具菜单下的Iternet选项菜单
选择安全标签下的可信站点
点击"站点"按钮打开可信站点编辑页面
输入服务器网址,并点添加...
[更多...]
28
十二月
2007
Author: 沈胜衣
In: 网页开发
报表系统使用一种伪造呈现的方式对报表的参数进行渲染,意思是,在服务器端生成的代码是原始的输入框/下拉列表,其他所有的例如布尔值等等都相等转换成下拉列表。在实际显示给最终用户的时候,使用Javascript对输入对象进行伪造,生成不同的显示风格,例如如下图就是一个下拉列表的伪造
在处理的时候,先将原先的下拉列表进行隐藏,然后在这个位置插入一个textBox,再根据下拉列表的内容生成一个隐藏层,当点击那个textBox 的时候弹出这个隐藏曾,这个隐藏层中的checkBox的选择状态和下拉列表中的一致。 下面是同理实现的单选的下拉列表的伪装。
&...
[更多...]
21
十二月
2007
Author: 沈胜衣
In: 网页开发
Javascript在IE下有一个隐藏的函数CollectGarbage();和JAVA语言类似,将引用设置成null,并不会释放内存,需要手动调用CollectGarbage();才会对内存进行释放.
正是这个函数解决了Table2Tree的内存问题.
Table2Tree的源代码修正如下
/**
Javascript标准库:Table转换成树形Table
前置条件:需要包含prototype.js文件
&nb...
[更多...]
13
十二月
2007
Author: 沈胜衣
In: 网页开发
前一段时间,有个哥们问道,是否可以在客户端控制用户点击附件下载的时候不让用户选择另存为按钮。我告诉他不可能实现,因为这个鸟窗口是IE提供的,而好像没有特别的文档说明这个东西怎么控制。今天查文档的时候偶然看到IE已经在IE6 SP2中实现了这个功能。顿觉汗颜,这么草率的回答,的确不符合忠实于技术的风格,在此纠正!
微软官方的地址为 http://msdn2.microsoft.com/en-us/library/ms533689.aspx
具体做法是在网页的头部增加一个Content类型
如下的示例代码
<html>
&...
[更多...]
12
十二月
2007
Author: 沈胜衣
In: 网页开发
实现功能:
在Table上实现行的拖动。支持预览
忽略THEAD/TFoot的行
支持的两个函数
if(window.scrollTop==null)
{
window.scrollTop=function()
{
&n...
[更多...]
24
十一月
2007
Author: 沈胜衣
In: 网页开发
在我们做动态层的时候,IE6以下很多时候碰到的难题就是层不能正确的遮挡后面的下拉列表(在IE7中,这个鸟毛病已经解决了)。拙劣的做法是当层显示的时候,将页面中所有的下拉列表对象hide起来,然后当层隐藏之后再显示出来。
网上放出了两种做法。第一种是添加一个和层大小相同的IFrame即可,第二种就是我提到的方法的一个实现,分别贴出代码
if(div.children &&div.children.length)
{
...
[更多...]
23
十一月
2007
Author: 沈胜衣
In: 网页开发
onmouseover有个特别BT的特性,如果在对象中包含一个子对象,鼠标从父亲对象挪动到子对象的时候会触发父亲对象的onMouseout事件,在很多的时候,这个鸟特性让人很难受,因为这个时候我们的浮动层、弹出的模拟层就不能正常的工作,在以前,我采用的是不合理的timeout事件触发自动进行隐藏的伪操作,而今,碰上一个DOCK窗口的问题,必须屏蔽这个鸟特性带来的副作用
所幸的是,我找到了解决办法
if(!this.contains(event.toElement))this.style.display="none";
这里有个特殊的even...
[更多...]
14
十一月
2007
Author: 沈胜衣
In: 网页开发
在实际开发中,我们遇到一种情况,需要将表格的底部放一个分页的标签,这样使得布局如下
实际表格主体包含两部分内容,数据和分页信息,分页信息最好总是停靠在表格主体的底部,我们以前使用的是表格的Valign实现,但是存在不少的问题,现在我们使用CSS+Expression实现以下功能
1、表格主体的位置可以在水平和垂直的任何位置
2、表格主体的高度自动扩展到页面的底部
3、分页信息停靠在表格主体的底部
现在的缺陷
1、页的margin、padding属性会导致定位不正确
2、需要自处理表格行数,免得将分页信息覆盖
3、页面如果包含在主体以后的东西需要自己计算啦
...
[更多...]
12
十一月
2007
Author: 沈胜衣
In: 网页开发
整理CSS的Expression的时候,突发奇想,试试看是否能够将所有的JavaScript脚本全部都放在CSS中实现,结果却测试了一个有意思的东西出来:直接使用CSS生成丰富的tooltip,呵呵,先瞅瞅样子是咋滴:
鼠标悬停直接出黄色的提示框,黄色提示框中的东东是完整的CSS实现的,应用文本是<a>标签生成,使用:hover伪选择子对A进行渲染,不使用onmouseover的主要原因是需要处理隐藏的代码,而hover则不需要,而使用hover的缺点也很明显,这个东西潜入到A标签中,使得A和Tooltip的行为是一样的,有的时候我们好像并不想这样。看看测试代码
...
[更多...]
10
十一月
2007
Author: 沈胜衣
In: 网页开发
在处理前面的文章中的级联菜单的时候,我发现了一个有意思的现象,使用CreateELement/InnerHTML/document.write的表现各自不一,自己测试了一下,呵呵,算得总结一下
1、CreateELement
createElement生成一个动态对象,这个对象创建之后是个无主对象,没有加到创建它的document中,需要使用appendChild或者insertBefore插入到document的DOM模型中才能生效。
createElement函数依附于Document对象,在使用Frame、IFrame或者popupWindow的时候一定需要注意,一个Docum...
[更多...]
8
十一月
2007
Author: 沈胜衣
In: 网页开发
先帖样子
使用层或者其他技术所实现的JS菜单不能解决的问题就是这些菜单不能跨帧,也就是说在Frame之间的时候无可奈何,所幸的是IE5+提供了createPopup这个函数,可以提供窗口的创建,使用createPopup需要注意以下几个问题:
1、函数没有任何参数
2、CreatePopup函数返回的值是新窗口的句柄,这个窗口和普通的窗口一样,所有该有的东西都有。
3、新窗口的parent属性可以对父级窗口(调用createPopup函数的窗口进行访问)
4、一个窗口只能创建一...
[更多...]
7
十一月
2007
Author: 沈胜衣
In: 似水年华
上传几个手册共享
终极配色手册
配色大辞典
跑调网页配色工具
cssfilter
behavior55
现在中国地区没有开通SkyDriver的权限,可以从网上找找方法,其实很简单,就是修改一下页面的访问链接访问到en就可以了,呵呵,简单得很,不再赘述。
6
十一月
2007
Author: 沈胜衣
In: 网页开发
this指针在javascript中的用法很明确
1、在代码运行的时候,指向该对象
2、普通调用的时候,指向的是调用者
3、New方式新建对象的时候指向的是被创建的对象
4、事件绑定的时候,指向被绑定的元素指针
而IE的事件处理却让人有些始料不及的问题,借用一句TNN的流行的话:谁动了我的this?
先写个最简单的事件处理
<button typeName="buttonA" onclick="alert(this.typeName)" >AAA</button>
点...
[更多...]
30
十月
2007
Author: 沈胜衣
In: 网页开发
最近在整理IE的一些周边的东西,顺便就整理一下IE的HTC的东西,实际上,HTC是IE对CSS Behaviors的一个实现,对CSS Behavior感兴趣的可以参看W3C的官方文档。不想争论这个鸟东西能否兼容啥米FF啊之类的,我现在是捆在IE上开发,因为客户捆在Windows上,能用就是好东西,何苦那么执着?
比较幽默的是,MS对于HTC的解释实在有点太草率了:
For Microsoft Internet Explorer 5 and later, HTML Components (HTCs) ...
[更多...]
29
十月
2007
Author: 沈胜衣
In: 网页开发
从校验的本体来看,校验分成客户端使用JS的基本合法性校验,服务器端Java或者JSP的合法性校验和业务校验三类。
对于服务器端JAVA和JSP校验需要注意的问题是如何向客户呈现错误信息,首先要保障用户输入的信息能够重新反馈给客户;其次需要一个统一的错误信息提示,例如使用弹出窗口、层伪造窗口等等手段。
对于业务校验和JAVA校验大同小异,不再赘述。
对于JS的基本校验建议采用不破坏结构的轻量级的解决方案,即是在需要校验的控件上增加附加的参数使用Javascript实现预期的校验,而javascript负责绑定form的onsubm...
[更多...]
26
十月
2007
Author: 沈胜衣
In: 网页开发
本讲义主要是内部进行JavaScript培训的时候使用,
主要对Javascript的基础语法和基础程序进行讲解
点击弹出新窗口打开整个讲义
以下为讲义的Agenda
Agenda
1.Foundation
–ECMAScript
–DOM Operation
–BOM Objects
2.Function and Object
–Function
–Class
–Closu...
[更多...]