【Daily】IE弹窗&SQL分割字符串

1、IE中各版本的弹出窗口大小差异
 * 具有 IE6 IE7 IE8 兼容性
 * 原理:
 *  1.IE6环境下的打开窗口高度包括了标题栏和状态栏
 *  2.IE7环境下的打开窗口高度则不包括状态栏和标题栏 
 *  3.IE8环境下的打开窗口高度不包括状态栏和标题栏(但是有内边距10px左右)
 * 操作:
 *  以IE6环境为例,将弹出窗口调整为按钮区域不出竖向滚动条出现为宜(上边距5px左右,下边距由css控制为5px)
 *  IE7环境,IE6适应情况下高度减去50px
 *  IE8环境,IE6适应情况下高度减去60px 
 
function showModal(ie8Option){
  var ieHeight = ie8Option.height;
  //IE 6.0时
  if(navigator.userAgent.indexOf("MSIE 6")!=-1) {
    ieHeight +=60;
  }
 
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322) 获取从客户端向服务器发送的HTTP协议用户代理头的值
 
showModal仅能在IE中打开,如使用非模态弹出窗口,应该使用window.open,使用opener访问父页面。如要弹出模态窗口,应该使用div
SQL对字符串的处理能力比较弱,比如我要循环遍历象1,2,3,4,5这样的字符串,如果用数组的话,遍历很简单,但是T-SQL不支持数组,所以处理下来比较麻烦。下边的函数,实现了象数组一样去处理字符串。

一,用临时表作为数组 
复制代码 代码如下:
create function f_split(@c varchar(2000),@split varchar(2)) 
returns @t table(col varchar(20)) 
as 
begin 

while(charindex(@split,@c)<>0) 
begin 
insert @t(col) values (substring(@c,1,charindex(@split,@c)-1)) 
set @c = stuff(@c,1,charindex(@split,@c),'') 
end 
insert @t(col) values (@c) 
return 
end 
go 

select * from dbo.f_split('dfkd,dfdkdf,dfdkf,dffjk',',') 

drop function f_split 
col 
-------------------- 
dfkd 
dfdkdf 
dfdkf 
dffjk 

(所影响的行数为 4 行)
 




posted @ 2011-09-13 18:16  lost2x  阅读(171)  评论(0编辑  收藏  举报