2008年3月22日

在线编辑小技巧(Javascript)

突然间想起了不久前看到一个不错的JS功能小技巧,觉得想法还不错~~
为了打发一下时间,就兴起写了下面的一个小段脚本 效果如下:


双击后



更新后



好了看完效果了,以下为功能实现的代码:


<title>无标题文档</title>
<script language="javascript" >

var Inline_Edit={

el:function (objID)
{
    return document.getElementById(objID);
},
Fun_ReCallBack:function (obj)
{
    this.Fun_Edit(obj);
},
Fun_Edit:function (obj)
{
     var txt= document.createElement( "input" ) ;
     txt.id="txt_"+obj.id;
     txt.type="text";
     txt.value=obj.innerHTML;
     obj.innerHTML="";
     //obj.onclick=function(e){;};
     obj.ondblclick=function(e){;};
     txt.style.display="block";
     txt.onblur=function(e){
                                var txtvalue=txt.value;
                                obj.removeChild(txt);
                                obj.innerHTML=txtvalue;
                                obj.ondblclick=function(e){Inline_Edit.Fun_Edit(obj);};
                            };
                        
     obj.appendChild(txt);
     txt.onfocus;
}
}
</script>
</head>

<body >

<span id="sp_text"  ondblclick="Inline_Edit.Fun_Edit(this)" >测试数据哦 </span>

</body>
</html>

posted @ 2008-03-22 22:14 WinKen 阅读(50) 评论(0) 编辑

2008年2月28日

WEB 简单的右键菜单

最近项目中有个模块用到了右键菜单,就自己写了一个简单的,

现在拿来出来给分享一下,希望对大伙有个帮助,

同时也希望大N们发表一下自己的想法,或别的高招。。。

话不多说先来看一下应用的效果先:

TreeView上的应用效果


表格上面的应用



源码使用了(Singleton模式),代码如下:

/*

说明:treeview 右键菜单
模式:Singleton(单键)
创建人:winken
创建时间:080124
使用:
*/
function WinKenTreeMenu()
{
    if ( this.constructor.instance )
         return this.constructor.instance;
    else this.constructor.instance = this;
  
   this.htmlHtml="<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"150px\" >"
    +"<tr onmouseover=\"this.className='cls_Treemenu_mouseover'\" onmouseout=\"this.className=''\" onclick=\"ShowOpeater(this.parentNode,0)\"><td  class=\"cls_TreeMenu_imgbg\" style=\"background-image: url(../images/Treemenu_Add.gif)\">&nbsp;</td><td>新建文件夹</td></tr>"
    +"<tr onmouseover=\"this.className='cls_Treemenu_mouseover'\" onmouseout=\"this.className=''\" onclick=\"ShowOpeater(this.parentNode,2)\"><td class=\"cls_TreeMenu_imgbg\" style=\"background-image: url(../images/Treemenu_fileup.gif)\">&nbsp;</td><td>上传文件</td></tr>"
    +"<tr onmouseover=\"this.className='cls_Treemenu_mouseover'\" onmouseout=\"this.className=''\" onclick=\"ShowOpeater(this.parentNode,9)\"><td class=\"cls_TreeMenu_imgbg\" style=\"background-image: url(../images/Treemenu_download.gif)\">&nbsp;</td><td>打包下载</td></tr>"
    +"<tr onmouseover=\"this.className='cls_Treemenu_mouseover'\" onmouseout=\"this.className=''\" onclick=\"ShowOpeater(this.parentNode,4)\"><td class=\"cls_TreeMenu_imgbg\" style=\"background-image: url(../images/Treemenu_delete.gif)\">&nbsp;</td><td>删除</td></tr>"
    +"<tr onmouseover=\"this.className='cls_Treemenu_mouseover'\" onmouseout=\"this.className=''\" onclick=\"ShowOpeater(this.parentNode,1)\" ><td class=\"cls_TreeMenu_imgbg\" style=\"background-image: url(../images/Treemenu_rename.gif)\">&nbsp;</td><td>重命名</td></tr>"
    +"<tr onmouseover=\"this.className='cls_Treemenu_mouseover'\" onmouseout=\"this.className=''\" onclick=\"new WinKenTreeMenu().Hide()\" title=\"关闭当前菜单\"><td class=\"cls_TreeMenu_imgbg\">&nbsp;</td><td align=\"right\">关 闭&nbsp;&nbsp;</td></tr>"
    +"</table>";
   this.contrainer=null;
   this.parentNode=null;
};

WinKenTreeMenu.prototype.Show = function(obj)
{
 this.Hide();
 this.parentNode=obj;
    this.contrainer=document.createElement("div");
 this.contrainer.clssName="cls_TreeMenu_div";
 this.contrainer.innerHTML=this.htmlHtml;
 this.contrainer.style.ZIndex=999;
 this.contrainer.style.left=parseInt(event.x)+10+"px";
 this.contrainer.style.top=parseInt(event.y)+"px";
 this.contrainer.style.position="absolute";
 this.contrainer.style.display="block";
 this.contrainer.style.backgroundColor="#FFFFFF";
 this.contrainer.style.border="1px solid #6699CC";
 this.contrainer.style.cursor="hand";
 this.contrainer.id="WinKenMenu";
 document.body.appendChild(this.contrainer);
};
WinKenTreeMenu.prototype.Hide=function()
{
 var obj=document.getElementById("WinKenMenu");
 if(obj)
  document.body.removeChild(obj); 
};

使用示例:
在treeview中使用
<iewc:treeview oncontextmenu=Fun_OncontextMenu(this); id=tv_FolderList EnableViewState="False" SelectExpands="True" SystemImagesPath="/webctrl_client/1_0/treeimages/" HEIGHT="300px" runat="server">&nbsp;<iewc:TreeNode id="tv_0" nodedata="0000" imageurl="../images/folderclose.gif" text="系统目录" expanded="True" expandedimageurl="../images/folderopen.gif"></iewc:TreeNode></iewc:treeview>

function Fun_FolderMenu(obj)
{
window.event.returnValue=0; //这一句要注意了,没加上这个会出不来
 new WinKenFolderMenu().Show(null); //
}

如果要关闭菜单也比较简单
因为用到了单键模式可以使用以下简单的处理即可
new WinKenTreeMenu().Hide();

东西比较简单,也不多说了,
如果有什么不好或是不对的地方希望大伙能提出来 
网络不是很好,也没怎么排版,有点乱。。。
不早了休息一下

posted @ 2008-02-28 13:14 WinKen 阅读(120) 评论(0) 编辑

2007年7月19日

AJAX 回忆录 (一)

摘要: 用JAXA也有一段时间了(用过:anthem,ajax,ajax.net,msajax),现在把以前学习的一些小例子贴起来,好给自己的学习过程留条线...不知大伙昨晚有没看中国队VS乌兹别克斯坦队的比赛,不看还好不然不然准让它气晕...感到中国的足球,叫了这么多年也搞了这么年,连个亚洲杯都打不出去....晕....下面来看一下XMLHTTP 的相关工作及DEMO一、使用步骤:1、创建XMLHTTP...阅读全文

posted @ 2007-07-19 12:35 WinKen 阅读(56) 评论(1) 编辑

2007年6月6日

Meta标签详解

很多人忽视了HTML标签META的强大功效,一个好的META标签设计可以大大提高你的个人网站被搜索到的可能性,有兴趣吗,谁我来重新认识一下META标签吧!

META标签是HTML语言HEAD区的一个辅助性标签,它位于HTML文档头部的<HEAD>标记和<TITLE>标记之间,它提供用户不可见的信息。meta标签通常用来为搜索引擎robots定义页面主题,或者是定义用户浏览器上的cookie;它可以用于鉴别作者,设定页面格式,标注内容提要和关键字;还可以设置页面使其可以根据你定义的时间间隔刷新自己,以及设置RASC内容等级,等等。

详细介绍

下面介绍一些有关 标记的例子及解释。

META标签分两大部分:HTTP标题信息(HTTP-EQUIV)和页面描述信息(NAME)。

★HTTP-EQUIV

HTTP-EQUIV类似于HTTP的头部协议,它回应给浏览器一些有用的信息,以帮助正确和精确地显示网页内容。常用的HTTP-EQUIV类型有:

1、Content-Type和Content-Language (显示字符集的设定)

说明:设定页面使用的字符集,用以说明主页制作所使用的文字已经语言,浏览器会根据此来调用相应的字符集显示page内容。

用法:<Meta http-equiv=Content-Type Content=text/html; Charset=gb2312>

<Meta http-equiv=Content-Language Content=zh-CN>

注意:该META标签定义了HTML页面所使用的字符集为GB2132,就是国标汉字码。如果将其中的“charset=GB2312”替换成“BIG5”,则该页面所用的字符集就是繁体中文Big5码。当你浏览一些国外的站点时,IE浏览器会提示你要正确显示该页面需要下载xx语支持。这个功能就是通过读取HTML页面META标签的Content-Type属性而得知需要使用哪种字符集显示该页面的。如果系统里没有装相应的字符集,则IE就提示下载。其他的语言也对应不同的charset,比如日文的字符集是“iso-2022-jp ”,韩文的是“ks_c_5601”。

Content-Type的Content还可以是:text/xml等文档类型;

Charset选项:ISO-8859-1(英文)、BIG5、UTF-8、SHIFT-Jis、Euc、Koi8-2、us-ascii, x-mac-roman, iso-8859-2, x-mac-ce, iso-2022-jp, x-sjis, x-euc-jp,euc-kr, iso-2022-kr, gb2312, gb_2312-80, x-euc-tw, x-cns11643-1,x-cns11643-2等字符集;Content-Language的Content还可以是:EN、FR等语言代码。

2、Refresh (刷新)

说明:让网页多长时间(秒)刷新自己,或在多长时间后让网页自动链接到其它网页。

用法:<Meta http-equiv=Refresh Content=30>

<Meta http-equiv=Refresh Content=5; Url=http://www.downme.com>

注意:其中的5是指停留5秒钟后自动刷新到URL网址。

3、Expires (期限)

说明:指定网页在缓存中的过期时间,一旦网页过期,必须到服务器上重新调阅。

用法:<Meta http-equiv=Expires Content=0>

<Meta http-equiv=Expires Content=Wed, 26 Feb 1997 08:21:57 GMT>

注意:必须使用GMT的时间格式,或直接设为0(数字表示多少时间后过期)。

4、Pragma (cach模式)

说明:禁止浏览器从本地机的缓存中调阅页面内容。

用法:<Meta http-equiv=Pragma Content=No-cach>

注意:网页不保存在缓存中,每次访问都刷新页面。这样设定,访问者将无法脱机浏览。

5、Set-Cookie (cookie设定)

说明:浏览器访问某个页面时会将它存在缓存中,下次再次访问时就可从缓存中读取,以提高速度。当你希望访问者每次都刷新你广告的图标,或每次都刷新你的计数器,就要禁用缓存了。通常HTML文件没有必要禁用缓存,对于ASP等页面,就可以使用禁用缓存,因为每次看到的页面都是在服务器动态生成的,缓存就失去意义。如果网页过期,那么存盘的cookie将被删除。

用法:<Meta http-equiv=Set-Cookie Content=cookievalue=xxx; expires=Wednesday,

21-Oct-98 16:14:21 GMT; path=/>

注意:必须使用GMT的时间格式。
html标签详解 网页标签 详解 meta 详解 meta标签 meta标签的作用


6、Window-target (显示窗口的设定)

说明:强制页面在当前窗口以独立页面显示。

用法:<Meta http-equiv=Widow-target Content=_top>

注意:这个属性是用来防止别人在框架里调用你的页面。Content选项:_blank、_top、_self、_parent。

7、Pics-label (网页RSAC等级评定)

说明:在IE的Internet选项中有一项内容设置,可以防止浏览一些受限制的网站,而网站的限制级

别就是通过该参数来设置的。

用法:<META http-equiv=Pics-label Contect=

(PICS-1.1'http://www.rsac.org/ratingsv01.html'

I gen comment 'RSACi North America Sever' by 'inet@microsoft.com'

for 'http://www.microsoft.com' on '1997.06.30T14:21-0500' r(n0 s0 v0 l0))>

注意:不要将级别设置的太高。RSAC的评估系统提供了一种用来评价Web站点内容的标准。用户可以设置Microsoft Internet Explorer(IE3.0以上)来排除包含有色情和暴力内容的站点。上面这个例子中的HTML取自Microsoft的主页。代码中的(n 0 s 0 v 0 l 0)表示该站点不包含不健康内容。级别的评定是由RSAC,即美国娱乐委员会的评级机构评定的,如果你想进一步了解RSAC评估系统的等级内容,或者你需要评价自己的网站,可以访问RSAC的站点:http://www.rsac.org/

8、Page-Enter、Page-Exit (进入与退出)

说明:这个是页面被载入和调出时的一些特效。

用法:<Meta http-equiv=Page-Enter Content=blendTrans(Duration=0.5)>

<Meta http-equiv=Page-Exit Content=blendTrans(Duration=0.5)>

注意:blendTrans是动态滤镜的一种,产生渐隐效果。另一种动态滤镜RevealTrans也可以用于页面进入与退出效果:

<Meta http-equiv=Page-Enter Content=revealTrans(duration=x, transition=y)>

<Meta http-equiv=Page-Exit Content=revealTrans(duration=x, transition=y)>

Duration表示滤镜特效的持续时间(单位:秒)

Transition滤镜类型。表示使用哪种特效,取值为0-23。

0 矩形缩小

1 矩形扩大

2 圆形缩小

3 圆形扩大

4 下到上刷新

5 上到下刷新

6 左到右刷新

7 右到左刷新

8 竖百叶窗

9 横百叶窗

10 错位横百叶窗

11 错位竖百叶窗

12 点扩散

13 左右到中间刷新

14 中间到左右刷新

15 中间到上下

16 上下到中间

17 右下到左上

18 右上到左下

19 左上到右下

20 左下到右上

21 横条

22 竖条

23 以上22种随机选择一种 


9、MSThemeCompatible (XP主题)

说明:是否在IE中关闭 xp 的主题

用法:<Meta http-equiv=MSThemeCompatible Content=Yes>

注意:关闭 xp 的蓝色立体按钮系统显示样式,从而和win2k 很象。

10、IE6 (页面生成器)

说明:页面生成器generator,是ie6

用法:<Meta http-equiv=IE6 Content=Generator>

注意:用什么东西做的,类似商品出厂厂商。

11、Content-Script-Type (脚本相关)

说明:这是近来W3C的规范,指明页面中脚本的类型。

用法:<Meta http-equiv=Content-Script-Type Content=text/javascript>

注意:

★NAME变量

name是描述网页的,对应于Content(网页内容),以便于搜索引擎机器人查找、分类(目前几乎所有的搜索引擎都使用网上机器人自动查找meta值来给网页分类)。

name的value值(name=)指定所提供信息的类型。有些值是已经定义好的。例如description(说明)、keyword(关键字)、refresh(刷新)等。还可以指定其他任意值,如:creationdate(创建日期) 、

document ID(文档编号)和level(等级)等。

name的content指定实际内容。如:如果指定level(等级)为value(值),则Content可能是beginner(初级)、intermediate(中级)、advanced(高级)。

1、Keywords (关键字)

说明:为搜索引擎提供的关键字列表

用法:<Meta name=Keywords Content=关键词1,关键词2,关键词3,关键词4,……>

注意:各关键词间用英文逗号“,”隔开。META的通常用处是指定搜索引擎用来提高搜索质量的关键词。当数个META元素提供文档语言从属信息时,搜索引擎会使用lang特性来过滤并通过用户的语言优先参照来显示搜索结果。例如:

<Meta name=Kyewords Lang=EN Content=vacation,greece,sunshine>

<Meta name=Kyewords Lang=FR Content=vacances,grè:ce,soleil>

2、Description (简介)

说明:Description用来告诉搜索引擎你的网站主要内容。

用法:<Meta name=Description Content=你网页的简述>

注意:

3、Robots (机器人向导)

说明:Robots用来告诉搜索机器人哪些页面需要索引,哪些页面不需要索引。Content的参数有all、none、index、noindex、follow、nofollow。默认是all。

用法:<Meta name=Robots Content=All|None|Index|Noindex|Follow|Nofollow>

注意:许多搜索引擎都通过放出robot/spider搜索来登录网站,这些robot/spider就要用到meta元素的一些特性来决定怎样登录。

all:文件将被检索,且页面上的链接可以被查询;

none:文件将不被检索,且页面上的链接不可以被查询;(和 noindex, no follow 起相同作用)

index:文件将被检索;(让robot/spider登录)

follow:页面上的链接可以被查询;

noindex:文件将不被检索,但页面上的链接可以被查询;(不让robot/spider登录)

nofollow:文件将不被检索,页面上的链接可以被查询。(不让robot/spider顺着此页的连接往下探找)
什么是meta标签 meta标签用法 tcp ip详解 jsp应用开发详解 


4、Author (作者)

说明:标注网页的作者或制作组

用法:<Meta name=Author Content=张三,abc@163.com>

注意:Content可以是:你或你的制作组的名字,或Email

5、Copyright (版权)

说明:标注版权

用法:<Meta name=Copyright Content=本页版权归网易学院所有。All Rights Reserved>

注意:

6、Generator (编辑器)

说明:编辑器的说明

用法:<Meta name=Generator Content=PCDATA|FrontPage|>

注意:Content=你所用编辑器

7、revisit-after (重访)

说明:

用法:<META name=revisit-after CONTENT=7 days >

注意:

★Head中的其它一些用法

1、scheme (方案)

说明:scheme can be used when name is used to specify how the value of content should be interpreted.

用法:<meta scheme=ISBN name=identifier content=0-14-043205-1 />

注意:

2、Link (链接)

说明:链接到文件

用法:<Link href=soim.ico rel=Shortcut Icon>

注意:很多网站如果你把她保存在收件夹中后,会发现它连带着一个小图标,如果再次点击进入之后还会发现地址栏中也有个小图标。现在只要在你的页头加上这段话,就能轻松实现这一功能。<LINK> 用来将目前文件与其它 URL 作连结,但不会有连结按钮,用於 <HEAD> 标记间, 格式如下:

<link href=URL rel=relationship>

<link href=URL rev=relationship>

3、Base (基链接)

说明:插入网页基链接属性

用法:<Base href=http://www.***.net/ target=_blank>

注意:你网页上的所有相对路径在链接时都将在前面加上“http://www.***.com/”。其中target=_blank是链接文件在新的窗口中打开,你可以做其他设置。将“_blank”改为“_parent”是链接文件将在当前窗口的父级窗口中打开;改为“_self”链接文件在当前窗口(帧)中打开;改为“_top”链接文件全屏显示。

以上是META标签的一些基本用法,其中最重要的就是:Keywords和Description的设定。为什么呢?道理很简单,这两个语句可以让搜索引擎能准确的发现你,吸引更多的人访问你的站点!根据现在流行搜索引擎(Google,Lycos,AltaVista等)的工作原理,搜索引擎先派机器人自动在WWW上搜索,当发现新的网站时,便于检索页面中的Keywords和Description,并将其加入到自己的数据库,然后再根据关键词的密度将网站排序。

posted @ 2007-06-06 15:54 WinKen 阅读(36) 评论(0) 编辑

2007年6月5日

一个使用动态Javascript脚本绑定的注意事项

这个月新的项目上线了...本来想忙了两个多月终于可以好好的休息一下了....
但是由于脚本的问题来来回回的又搞了两个星期....
苦呀....
现在写出来发泄一下不满的心情...也希望大伙不要犯和我们相同的错误......
项目的前面几个页面要大量的动态生成数据使用了大量的动态生成脚本(每页大概有1300多行),项目上线后使用一段时间后出现了一些难以想象的脚本错误(原来手工测试时都是没问题的,而且写这此脚本的同事离职了), 查了N多久后终于发现是页面上动态绑定的JS见鬼了,原来是用户在使用时输入的数据都是从WORD中拷贝出来的数据其中包含了"\r\n"这些一大堆的非法字符,导置脚本执行时出异常....部分数据丢失(还好每一步的操作都有备份)...
如下代码:
//给备注赋值
            function SetDemo()
            
{
                var sd 
= 0;
                var dem 
= "";
                
<% 
                
int nm = 0;
                
if(dt_demo!=null  )
              
foreach(DataRow row in dt_demo.Rows)
                
%>
                dem 
="<%=dt_demo.Rows[nm][4].ToString()%>";
                sd
++;
                SetSomeOneDemo(sd,dem);
                
<%
                nm
++;
                }
%>
                 
            }

dem ="<%=dt_demo.Rows[nm][4].ToString()%>";
如这一句如果是正常输入的话是不会有什么问题但是
数据中如果有'\R\N'这样的字符后绑定出来的结果就变了....
如:"abc\r\ndecf"
绑定后就成了
dem="abc
decf";
正是因为这个导致了动态执行时.出现异常从而使dem的值丢失.....
而我的处理是:
dem ="<%=dt_demo.Rows[nm][4].ToString().Replace("\r\n",string.Empty)%>";
这样处理后绑定出来的数据就成了我们要的了..
dem="abc decf";
所以希望大家在使用类似的脚本绑定时注意...记得在存数据或在数据绑定时加以处理....

写这个不能说明什么,代码写的也不怎么样,只是想对有同样写法的老友提个醒不要犯类似的错误....
.............................

posted @ 2007-06-05 21:17 WinKen 阅读(111) 评论(0) 编辑

2007年5月15日

[转]在模式窗口中唰新父窗口的实现(一)

摘要: 在模式窗口中唰新父窗口的实现可以有多种实现的方法.但这个是在网上看到的一刚关于在模式窗口中唰新父窗口比较好的实现也比较简单...哈哈(个人观点).发出来共享一下...我在工作中的ASP.NET项目中也遇到了这个问题,需要在添加修改等操作以后关闭子窗口,同时刷新父窗口,非常的棘手.我是这样解决的: 首先在父上放一个刷新列表用的按扭控件,然后对它进行编程,调用onClick来运行Codebehind里...阅读全文

posted @ 2007-05-15 09:49 WinKen 阅读(251) 评论(2) 编辑

2007年5月13日

控件按钮提示,及权限的处理

摘要: 可以方便的实现对页面控件的操作权限及操作确认(只实现了几个实用的控件)减少工作量.....哈哈...1按钮确认提示#region按钮确认提示23/**////<summary>4///控件确认提示5///</summary>6///<paramname="control">LinkButton,Button,ImageButton,HyperLink</p...阅读全文

posted @ 2007-05-13 00:00 WinKen 阅读(170) 评论(1) 编辑

2007年5月12日

取服务器信息(收集的一些)

摘要: 开张没几天,发个小东东来收点人气..哈哈..大家不要见怪....大伙有好的也加点上去.......1获取服务器系统信息#region获取服务器系统信息23/**////<summary>4///取应用程序路径5///</summary>6publicstringGetAppRootPath7{8get{return"http://"+HttpContext.Current....阅读全文

posted @ 2007-05-12 23:31 WinKen 阅读(99) 评论(0) 编辑

一个模拟WinForm进度条的DEMO

摘要: 把前段时间用过的进度条例子进行了一次小小的处理,以方便以后的使用,因为在WEB中要实现WINFORM的进度条比较难....当时也查了不少相关的资料...(哈哈...) 效果如下图前台代码没什么不同,操作都在后台.也希望大伙能用得上第二次写这个还不知怎么上传文件,试了好几次都没成功,所以就不加DEMO了1<%@Pagelanguage="c#"Codebehind="WebForm1.aspx...阅读全文

posted @ 2007-05-12 23:19 WinKen 阅读(1736) 评论(0) 编辑

2007年5月11日

一个JavaScript缩略图的小例子

摘要: 一个JavaScript缩略图的小例子昨晚由于项目中客户要求在页面缩略图中,当鼠标移到图片上时能在图片下动态显示一张按比例的大点的图片,因为原来的缩略图太小了看不清,由于时间比较紧就自己写了一个,可以实现的小例子.......效果不好,但是希望能给初学者一个思路(代码写的有点乱)思路:当用户鼠标移到图片上时动态创建一个DIV并取出IMG的SRC中的图片连接,并生成一个缩略图在鼠标下方哈哈........阅读全文

posted @ 2007-05-11 12:34 WinKen 阅读(456) 评论(0) 编辑

导航

<2012年2月>
2930311234
567891011
12131415161718
19202122232425
26272829123
45678910

公告

版权说明: 可以自由的拷贝、转载、散发、使用本人的文章。但请注明出处和作者。

Free Site Counter
Free Site Counter
昵称:WinKen
园龄:4年9个月
粉丝:0
关注:0

搜索

 
 

常用链接

随笔分类

随笔档案

最新评论

阅读排行榜

评论排行榜

推荐排行榜