<?xml version="1.0" encoding="UTF-8" ?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"><channel><title>Loveyuki's BLOG - 技术新知</title><link>http://www.loveyuki.com/Folder/Technic/Index.aspx</link><language>zh-CN</language><webMaster>loveyuki@gmail.com(Loveyuki)</webMaster><pubDate>Sun, 21 Oct 2007 16:07:39 GMT</pubDate><copyright>Copyright 2007. All rights reserved.</copyright><generator>Bitrac Beta</generator><description>L-BLOG.NET, The Matrix Reloaded.</description><image><title>Loveyuki's BLOG</title><url>http://www.loveyuki.com/Images/banner.gif</url><link>http://www.loveyuki.com/</link><description>L-BLOG.NET, The Matrix Reloaded.</description></image><item><link>http://www.loveyuki.com/Article/Bitrac_Gravatar_Tech.aspx</link><title><![CDATA[Bitrac 支持 Gravatar 了，顺便扫下盲]]></title><author>loveyuki@gmail.com()</author><category>技术新知</category><pubDate>Tue, 30 Sep 2008 18:46:13 GMT</pubDate><description><![CDATA[<p><a target="_blank" href="http://www.gravatar.com/" target="_blank"><strong>Gravatar</strong></a>，是 <strong>Globally Recognized Avatar</strong> 的缩写，中文直译为”全球认定头像”，网上也有一些朋友称其为”网上大头贴”。<strong>Gravtar (http://www.gravatar.com)</strong> 的概念很简单，就是让你在互联网上拥有一个统一的头像。把你的头像和你的电子邮件捆绑起来进行识别显示，当你在一个支持 Gravatar 头像的博客或社区留言的时候，你只需要输入你的电子邮件地址，你所捆绑的头像就会显示出来。</p><p>比较有意思的是，Gravatar 还按照美国电影协会所制定的标准给头像进行评级，包括 X\R\PG\G 四个等级，比如你的头像图片含成人内容或脏话，那就会评定为X级。而支持 Gravatar 头像的博客或社区的管理员，可以设定显示哪些级别的头像。</p><p>申请的步骤很简单，如果你也有兴趣想做看看，就跟着一起试作吧：</p><ol><li>首先是到<a href="http://www.gravatar.com/" target="_blank" target="_blank" target="_blank"> Gravatar</a> 网站上去注册一个账号，很简单，只要填写一个你最常用的 Email，接着输入两次密码，送出之后，系统会寄一封确认信到你的信箱，开信，点一下启用账号连结即可。</li><li>接着，到 <a href="http://www.gravatar.com/" target="_blank" target="_blank" target="_blank">Gravatar</a> 去登入，登入后，就可以开始上传你的图片了，记得尺寸一定要是 80×80 PX，格式则 JPG\GIF\PNG 皆可。上传完后，等待着网站的管理员对头像图片分级 (G 普通级、PG 辅导级、R 和 X 为限制级)，审核完毕它会 Email 通知你的。<br /> 注：一般来说一天时间就可以审核通过。如果图片不含暴力或者暴露内容，多半会得到G级别的等级。</li></ol><p>通过之后这个头像就可以使用了。在任何支持 Gravatar 的地方，在填写 Email 地址时，请填写你申请注册头像用的这个 Email 地址。你的头像就会出现在留言中。</p>]]></description><guid>http://www.loveyuki.com/Article/Bitrac_Gravatar_Tech.aspx</guid><trackback:ping>http://www.loveyuki.com/Article/96/Trackback.ashx</trackback:ping><comments>http://www.loveyuki.com/Article/Bitrac_Gravatar_Tech.aspx#CommentPostAnchor</comments><wfw:commentRss>http://www.loveyuki.com/Article/96/Feeds.ashx</wfw:commentRss></item><item><link>http://www.loveyuki.com/Article/Good_dotNet_Database_VistaDB.aspx</link><title><![CDATA[优秀的纯 .NET 数据库引擎 VistaDB]]></title><author>loveyuki@gmail.com()</author><category>技术新知</category><pubDate>Tue, 15 Jul 2008 10:24:37 GMT</pubDate><description><![CDATA[<p>Bitrac 刚开始开发的时候用的 Access 数据库，但是 Access 数据数据膨胀太厉害，效率也不是很好，后来 Bitrac 使用 SQLite 数据，但是 SQLite 数据库的 .NET 引擎有个致命的弱点就是无法在 Medium Trust 模式下使用，而国内外很多 .NET 空间都为了安全使用 Medium Trust 模式，这就为 Bitrac 以后的推广带来了麻烦，本来我关注过 VistaDB 这个数据库引擎，但是以前 VistaDB 是收费的，大概今年 5 月份 VistaDB 推出了免费使用的 Express 版本。</p><p>VistaDB 是完全用 .NET 开发的一个数据引擎，效率虽然没有 SQLite 那么快，但是却支持 Medium Trust 模式，通用性比 SQLite 强太多了。正在考虑是否把 Bitrac 的数据库引擎换到 VistaDB。等有时间具体测试一下 VistaDB 的效率以后再决定是否转换。</p><p>VistaDB 的主页：<a href="http://www.vistadb.net/" target="_blank">http://www.vistadb.net/</a></p>]]></description><guid>http://www.loveyuki.com/Article/Good_dotNet_Database_VistaDB.aspx</guid><trackback:ping>http://www.loveyuki.com/Article/90/Trackback.ashx</trackback:ping><comments>http://www.loveyuki.com/Article/Good_dotNet_Database_VistaDB.aspx#CommentPostAnchor</comments><wfw:commentRss>http://www.loveyuki.com/Article/90/Feeds.ashx</wfw:commentRss></item><item><link>http://www.loveyuki.com/Article/Get_ASPNET_Trust_Level.aspx</link><title><![CDATA[得到 ASP.NET 当前的 Trust Level]]></title><author>loveyuki@gmail.com()</author><category>技术新知</category><pubDate>Mon, 14 Jul 2008 22:59:00 GMT</pubDate><description><![CDATA[<p>得到 ASP.NET 当前的 Trust Level，摘自：<a href="http://blogs.msdn.com/dmitryr/archive/2007/01/23/finding-out-the-current-trust-level-in-asp-net.aspx" target="_blank" target="_blank" target="_blank">dmitryr's blog</a></p><pre><ol class="dp-c"><li class="alt"><span><span>AspNetHostingPermissionLevel&nbsp;GetCurrentTrustLevel()&nbsp;{ &nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">foreach</span><span>&nbsp;(AspNetHostingPermissionLevel&nbsp;trustLevel&nbsp;</span><span class="keyword">in</span><span>&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">new</span><span>&nbsp;AspNetHostingPermissionLevel&nbsp;[]&nbsp;{ &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AspNetHostingPermissionLevel.Unrestricted, &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AspNetHostingPermissionLevel.High, &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AspNetHostingPermissionLevel.Medium, &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AspNetHostingPermissionLevel.Low, &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AspNetHostingPermissionLevel.Minimal&nbsp; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;)&nbsp;{ &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">try</span><span>&nbsp;{ &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">new</span><span>&nbsp;AspNetHostingPermission(trustLevel).Demand(); &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">catch</span><span>&nbsp;(System.Security.SecurityException&nbsp;)&nbsp;{ &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">continue</span><span>; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;</span></li><li><span>&nbsp; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span>&nbsp;trustLevel; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;</span></li><li class="alt"><span>&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span>&nbsp;AspNetHostingPermissionLevel.None; &nbsp;</span></li><li class="alt"><span>}&nbsp;</span></li></ol></pre>]]></description><guid>http://www.loveyuki.com/Article/Get_ASPNET_Trust_Level.aspx</guid><trackback:ping>http://www.loveyuki.com/Article/89/Trackback.ashx</trackback:ping><comments>http://www.loveyuki.com/Article/Get_ASPNET_Trust_Level.aspx#CommentPostAnchor</comments><wfw:commentRss>http://www.loveyuki.com/Article/89/Feeds.ashx</wfw:commentRss></item><item><link>http://www.loveyuki.com/Article/Windows_Requirement_History.aspx</link><title><![CDATA[Windows 系统需求的历史]]></title><author>loveyuki@gmail.com()</author><category>技术新知</category><pubDate>Wed, 09 Jul 2008 16:27:24 GMT</pubDate><description><![CDATA[<p><style type="text/css">
.blockcontent { display:block; overflow:hidden; width:auto; clear:both; border-top: 1px dotted #E0E0CC; margin-top:8px; padding-top:8px; }</style></p><p>这两天帮亲戚整了一下我 2000 年配的那台旧电脑，安装系统的时候让我头大了一下，Athon650 的 CPU，AsusK7V 的主板，128M 的内存，20G 的硬盘，特别是硬盘损耗非常大，一读盘就咯咯响，开始装了个 Windows ME，速度还不错，可惜现在大部分软件都没法用了。算了还是用 2000 吧，结果 2000 的那个速度啊，磁盘子系统的速度真不敢恭维，最后还是锁定了 Windows XP 精简版本。凑合用吧，搜索网上资料时，正好看到了 Windows 系统需求的历史。</p><p>从第一个版本的Windows诞生之日起，计算机技术就一直都在突飞猛进的发展。今天我们来看一看Windows对计算机硬件系统的需求历史。这段历史，同时也展现了技术变革的脚步。我们首先从Windows 1.0开始，然后一直向前直到Windows Vista。你可以想象的到，这些已经发生了的变化是多么的猛烈。一起来看一看吧：</p><div class="blockcontent"><img class="Image" height="164" alt="" src="http://www.loveyuki.com/Attach/month_0807/85b2a8_Win10.png" width="300" align="right" /><p><strong>Windows 1.0</strong></p><p>Windows 1.0 发布于 1985 年 11 月20 日。</p><ul><li>CGA/Hercules/EGA (或者兼容的显示设备)</li><li>MS-DOS 2.0</li><li>256 KB内存</li><li>两个双面软盘驱动器或者一个硬盘</li></ul></div><div class="blockcontent"><img class="Image" height="202" alt="" src="http://www.loveyuki.com/Attach/month_0807/r6abq8_Win20.png" width="300" align="right" /><p><strong>Windows 2.10</strong></p><p>Windows 2.1 正式发布于 1988 年 5 月 27 号。<br />有趣的事实：2.10 版本是为了利用 Intel 286 处理器才发布的。</p><ul><li>MS-DOS 3.0 版或更高</li><li>512 K 内存</li><li>一个软盘驱动器及一个硬盘</li><li>显卡</li><li>Microsoft 鼠标是可选配件</li></ul></div><div class="blockcontent"><img class="Image" height="193" alt="" src="http://www.loveyuki.com/Attach/month_0807/lzznwf_Win31.png" width="300" align="right" /><p><strong>Windows 3.1x</strong></p><p>Windows 3.1 版发布于 1992 至 1994 年之间。<br />有趣的事实：这个版本 Windows 的不同之处在于，如果用户正在运行的操作系统是 MS DOS 以外的其他类型的DOS，则安装程序会失败，用户将不能安装 Windows。</p><ul><li>MS-DOS 3.1或更高版本</li><li>Intel 80286 (或更高) 处理器</li><li>1 MB或更多的内存(640K 常规内存以及256K 扩展内存)</li><li>6.5 MB 空余磁盘空间(推荐9 MB)</li></ul></div><div class="blockcontent"><img class="Image" height="225" alt="" src="http://www.loveyuki.com/Attach/month_0807/8ao5b6_Win95.png" width="300" align="right" /><p><strong>Windows 95</strong></p><p>Windows 95 发布于 1995 年 8 月 24 号。<br />有趣的事实：图形用户界面是这个操作系统最大的改进。事实上，GUI 的一般格式和结构仍然被用于今天的 Windows。</p><ul><li>Intel 80386 DX CPU</li><li>4 MB 内存</li><li>50 MB 硬盘空间</li></ul></div><div class="blockcontent"><img class="Image" height="225" alt="" src="http://www.loveyuki.com/Attach/month_0807/qivk47_Win98.png" width="300" align="right" /><p><strong>Windows 98</strong></p><p>Windows 98 发布于 1998 年 6 月 25 日。<br />有趣的事实：Windows 98 是第一个使用 Windows 驱动模型的操作系统。</p><ul><li>486DX-2/66 MHz或者更快的CPU(推荐使用Pentium处理器)</li><li>16 MB内存(推荐24MB)</li><li>至少500 MB的可用硬盘空间</li><li>VGA或者更高分辨率的显示器</li><li>CD-ROM或者DVD-Rom 驱动器</li><li>Microsoft 鼠标或指点杆设备</li></ul></div><div class="blockcontent"><img class="Image" height="228" alt="" src="http://www.loveyuki.com/Attach/month_0807/hjsrui_Win2K.png" width="300" align="right" /><p><strong>Windows 2000</strong></p><p>Windows 2000 发布于 2000 年 2 月 17 日。共有3个不同版本的 Windows 2000，每个版本的系统需求都不相同。<br />有趣的事实：微软做广告时宣称：Windows 2000 是“稳定性的标准”。在这一版本中引进了一些新功能，例如 Windows Desktop Update, Internet Explorer 5 以及 Outlook Express。同时 Windows Explorer 也有很多的改进。</p><p><strong>Windows 2000 Professional</strong></p><ul><li>133 MHz或更快的 Pentium兼容CPU</li><li>32 MB内存(推荐64 MB)</li><li>700 MB硬盘空间 (推荐2 GB)</li></ul><p><strong>Windows 2000 Server/Advanced Server</strong></p><ul><li>133 MHz CPU</li><li>最少 256 MB 内存</li><li>2 GB硬盘空间</li></ul></div><div class="blockcontent"><img class="Image" height="228" alt="" src="http://www.loveyuki.com/Attach/month_0807/lkogfr_WinME.png" width="300" align="right" /><p><strong>Windows Me</strong></p><p>Windows Me 发布于 2000 年 9 月 24 日。<br />有趣的事实：Windows Me 存活的时间并不长，仅有大约一年的时间就被 Windows XP 取代了。</p><ul><li>150 MHz&nbsp; Pentium处理器</li><li>320 MB 硬盘空间</li><li>32 MB 内存</li></ul><p>*注释：这是最后一个包含实时 MS-DOS 子系统（尽管对其的访问受到限制）的 Windows 版本。</p></div><div class="blockcontent"><img class="Image" height="228" alt="" src="http://www.loveyuki.com/Attach/month_0807/nv57jr_WinXP.png" width="300" align="right" /><p><strong>Windows XP</strong></p><p>Windows XP 发布于 2001 年 10 月 25 日。<br />有趣的事实：Windows XP 基于 Windows NT 内核和系统架构。这是微软设计的第一款面向消费者的操作系统。<br />以下是 Windows XP XP Home 和 Professional 版的最小系统需求（不是推荐配置）：</p><ul><li>233 MHz 处理器</li><li>63 MB 内存</li><li>1.5 GB 空余磁盘空间</li><li>Super VGA 显卡和显示器</li><li>CD-ROM 或 DVD 驱动器</li></ul></div><div class="blockcontent"><img class="Image" height="187" alt="" src="http://www.loveyuki.com/Attach/month_0807/hvwn8x_Vista.png" width="300" align="right" /><p><strong>Windows Vista</strong></p><p>Windows Vista 于 2007 年 1 月 30 日正式发布。<br />有趣的事实：Vista 饱受批评的一点是其对硬件系统的需求。</p><p><strong>Vista Capable</strong></p><ul><li>800 MHz 处理器</li><li>512 MB 内存</li><li>32 MB 显存</li><li>20 GB 硬盘空间</li><li>15 GB 空余硬盘空间</li></ul><p><strong>Vista Premium Ready</strong></p><ul><li>1.0 GHz 处理器</li><li>1 GB 内存</li><li>128 MB 显存</li><li>40 GB 硬盘空间</li><li>15 GB 空余硬盘空间</li></ul></div><p><strong>尾声……</strong></p><p>回过头去，看看系统需求随着时间的变化而进步，实在是令人惊异。想想看 Windows 1.0 只需要 256KB 的内存，而最现代的操作系统，Vista 却需要1GB 的内存，这是多么的疯狂！这不禁使我们疑惑，下一代的 Windows 操作系统会有什么样的系统需求呢？</p><p>原文：<a href="http://cybernetnews.com/2008/04/21/cybernotes-history-of-windows-system-requirements/" target="_blank" target="_blank" target="_blank">History of Windows System Requirements</a><br />翻译、整理：<a href="http://www.funnywang.com/" target="_blank" target="_blank" target="_blank">乐子王</a></p>]]></description><guid>http://www.loveyuki.com/Article/Windows_Requirement_History.aspx</guid><trackback:ping>http://www.loveyuki.com/Article/87/Trackback.ashx</trackback:ping><comments>http://www.loveyuki.com/Article/Windows_Requirement_History.aspx#CommentPostAnchor</comments><wfw:commentRss>http://www.loveyuki.com/Article/87/Feeds.ashx</wfw:commentRss></item><item><link>http://www.loveyuki.com/Article/Windows_XP_Hibernate_Button.aspx</link><title><![CDATA[让 Windows XP 关机对话框出现“休眠”按钮]]></title><author>loveyuki@gmail.com()</author><category>技术新知</category><pubDate>Thu, 01 May 2008 01:34:27 GMT</pubDate><description><![CDATA[<p>通常情况下，要在单击“关闭计算机”后显示“休眠”按钮，需要按 Shift 键。按 Shift 键时，“待机”按钮会更改为“休眠”按钮。曾有网友提出，在某些机器上使用时，为什么“关闭计算机”的对话框有四个按钮，如图所示：<br /><img class="Image" alt="" src="http://www.loveyuki.com/Attach/month_0805/3942ql_msgina.jpg" width="398" /></p><p>这个我也很好奇，经过一番搜索，在微软网站看到了答案：<a href="http://support.microsoft.com/kb/KB893056" target="_blank" target="_blank" target="_blank">http://support.microsoft.com/kb/KB893056</a></p><p>根据文中所述，需要使用一个 KB893056 补丁，而此补丁微软却不公开提供下载。不过不用害怕，Windows XP SP3 已经集成了这个补丁。如果你不想升级 SP3 可以下载这个<a href="http://www.loveyuki.com/Attach/month_0805/vfbrpn_WindowsXP-KB893056-x86-CHS.cab" target="_blank" target="_blank" target="_blank">别人分享出来的补丁</a>。</p><p>然后再下载这个<a href="http://www.loveyuki.com/Attach/month_0805/glwhtu_HibernateBtnPatch.cab" target="_blank" target="_blank" target="_blank">注册表文件</a>直接导入就可以了。当然像上面所说的 SP3 的 XP 可以直接导入这个注册表文件就可以了。</p>]]></description><guid>http://www.loveyuki.com/Article/Windows_XP_Hibernate_Button.aspx</guid><trackback:ping>http://www.loveyuki.com/Article/69/Trackback.ashx</trackback:ping><comments>http://www.loveyuki.com/Article/Windows_XP_Hibernate_Button.aspx#CommentPostAnchor</comments><wfw:commentRss>http://www.loveyuki.com/Article/69/Feeds.ashx</wfw:commentRss></item><item><link>http://www.loveyuki.com/Article/Windows_2008_Enable_Superfetch.aspx</link><title><![CDATA[[整理]在 Windows Server 2008 中启用 Superfetch]]></title><author>loveyuki@gmail.com()</author><category>技术新知</category><pubDate>Wed, 26 Mar 2008 11:35:49 GMT</pubDate><description><![CDATA[<p>众所周知，Vista 的内存管理跟 XP 完全不一样了，有点像 Linux 靠拢的意思。其实主要归功于一个服务，那就是 Superfetch，这个服务会动态的把一些前台程序加载到内存中，从而提高 PC 的整体性能，但是安装上 2008 Server 后在服务里面却并没有看到这个服务，由于 2008 是主要应用是服务器，大部分时间运行的是后台服务，对前台程序的资源要求不高，所以这个服务默认是禁止的，当我们把 2008 应用于桌面系统的时候大部分时间运行的是前台程序而因为这个服务禁用的关系 PC 的整体性能会有所下降，不过没有关系，我们可以手动打开这个功能。下面说说，具体的用法：</p><ol><li>打开注册表编辑器找到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters 这个注册表项</li><li>新建 DWORD 项 名称为 EnablePrefetcher 数值为 3</li><li>新建 DWORD 项 名称为 EnableSuperfetch 数值为 3</li><li>打开 服务 ，将SuperFetch设为 <b>自动</b> 可以立刻启动成功</li></ol>]]></description><guid>http://www.loveyuki.com/Article/Windows_2008_Enable_Superfetch.aspx</guid><trackback:ping>http://www.loveyuki.com/Article/63/Trackback.ashx</trackback:ping><comments>http://www.loveyuki.com/Article/Windows_2008_Enable_Superfetch.aspx#CommentPostAnchor</comments><wfw:commentRss>http://www.loveyuki.com/Article/63/Feeds.ashx</wfw:commentRss></item><item><link>http://www.loveyuki.com/Article/Javascript_getElementByClassName.aspx</link><title><![CDATA[Javascript 函数 getElementByClassName]]></title><author>loveyuki@gmail.com()</author><category>技术新知</category><pubDate>Thu, 06 Mar 2008 10:51:42 GMT</pubDate><description><![CDATA[<p>自己写了一个通过 className 获取 HTML 元素的函数，由于使用了正则匹配，所以支持读取多个 className，比如 getElementByClassName('Image|Picture','IMG') 可以获取 className 为 Image 或 Picture 的 IMG 元素。</p><pre><ol class="dp-c"><li class="alt"><span><span class="keyword">function</span><span>&nbsp;getElementByClassName(cls,elm)&nbsp;{ &nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">var</span><span>&nbsp;arrCls&nbsp;=[]; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">var</span><span>&nbsp;seeElm&nbsp;=&nbsp;!mtLibs.IsNull(elm)&nbsp;?&nbsp;elm&nbsp;:&nbsp;</span><span class="string">'*'</span><span>; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">var</span><span>&nbsp;rexCls&nbsp;=&nbsp;</span><span class="keyword">new</span><span>&nbsp;RegExp(</span><span class="string">'(^|\\\\s)'</span><span>&nbsp;+&nbsp;cls&nbsp;+&nbsp;</span><span class="string">'(\\\\s|$)'</span><span>,</span><span class="string">'i'</span><span>); &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">var</span><span>&nbsp;lisElm&nbsp;=&nbsp;document.getElementsByTagName(seeElm); &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">for</span><span>&nbsp;(</span><span class="keyword">var</span><span>&nbsp;i=0;&nbsp;i&lt;lisElm.length;&nbsp;i++&nbsp;)&nbsp;{ &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">var</span><span>&nbsp;evaCls&nbsp;=&nbsp;lisElm[i].className; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span>(evaCls.length&nbsp;&gt;&nbsp;0&nbsp;&amp;&amp;&nbsp;(evaCls&nbsp;==&nbsp;cls&nbsp;||&nbsp;rexCls.test(evaCls)))&nbsp;{ &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;arrCls.push(lisElm[i]); &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span>&nbsp;arrCls; &nbsp;</span></li><li class="alt"><span>}&nbsp;</span></li></ol></pre>]]></description><guid>http://www.loveyuki.com/Article/Javascript_getElementByClassName.aspx</guid><trackback:ping>http://www.loveyuki.com/Article/54/Trackback.ashx</trackback:ping><comments>http://www.loveyuki.com/Article/Javascript_getElementByClassName.aspx#CommentPostAnchor</comments><wfw:commentRss>http://www.loveyuki.com/Article/54/Feeds.ashx</wfw:commentRss></item><item><link>http://www.loveyuki.com/Article/Javascript_Check_Password.aspx</link><title><![CDATA[检查密码强度的 Javascript]]></title><author>loveyuki@gmail.com()</author><category>技术新知</category><pubDate>Thu, 28 Feb 2008 10:07:27 GMT</pubDate><description><![CDATA[<p>一个检查密码强度的 Javascript 函数，如果返回值大于&nbsp;30 代表强度高，大于 20 代表强度中，算法方面比较简单。&nbsp;就是检测是纯数字纯字母还是数字和字母混合。<img class="Smile" alt="glade" src="http://www.loveyuki.com/Images/Smiles/glade.gif" /></p><p>这个函数是以前写极客地带的时候用的，Ajax 实现一个交互系统的确非常爽。呵呵</p><pre><ol class="dp-c"><li class="alt"><span><span class="keyword">function</span><span>&nbsp;CheckPassword(val)&nbsp;{ &nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">var</span><span>&nbsp;sRe=[/[a-zA-Z]/g,/\d/g,/[^a-zA-Z0-9]/g]; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">var</span><span>&nbsp;sLe=[1,2,5]; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">var</span><span>&nbsp;sFa=[0,0,10,20]; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">var</span><span>&nbsp;iKn=0; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">var</span><span>&nbsp;iSt=0 &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">for</span><span>(</span><span class="keyword">var</span><span>&nbsp;i=0;i&lt;sRe.length;i++)&nbsp;{ &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">var</span><span>&nbsp;cMa=val.match(sRe[i]); &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span>(cMa!=</span><span class="keyword">null</span><span>)&nbsp;{ &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iSt+=cMa.length*sLe[i]; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iKn++; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;iSt+=sFa[iKn]; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span>&nbsp;iSt; &nbsp;</span></li><li><span>}&nbsp;</span></li></ol></pre>]]></description><guid>http://www.loveyuki.com/Article/Javascript_Check_Password.aspx</guid><trackback:ping>http://www.loveyuki.com/Article/52/Trackback.ashx</trackback:ping><comments>http://www.loveyuki.com/Article/Javascript_Check_Password.aspx#CommentPostAnchor</comments><wfw:commentRss>http://www.loveyuki.com/Article/52/Feeds.ashx</wfw:commentRss></item><item><link>http://www.loveyuki.com/Article/Dont_Disable_Local_Area_Connection.aspx</link><title><![CDATA[[技巧转载]禁止“禁用本地连接”的功能]]></title><author>loveyuki@gmail.com()</author><category>技术新知</category><pubDate>Tue, 26 Feb 2008 17:11:29 GMT</pubDate><description><![CDATA[<p>由于经常要通过远程桌面管理服务器，每次看到本地连接状态上的禁用按钮，就有点紧张，因为曾经不小心禁用了本地连接，还得求机房的人员启用。</p><p>今天花了点时间在网上搜到了解决的办法：打开组策略编辑器 GPEDIT.MSC，</p><p><img class="Image" height="488" alt="" src="http://www.loveyuki.com/Attach/month_0802/8i3apy_GPEDIT.gif" width="598" /></p><p>设置后，不用重启，就立刻生效了。</p><p><img class="Image" height="412" alt="" src="http://www.loveyuki.com/Attach/month_0802/7lzb89_DisLan.gif" width="367" /></p><p>以下信息是两个策略功能说明：</p><p><em>确定用户是否可以启用/禁用 LAN 连接。</em></p><p><em>如果启用此设置，用户(包括非管理员用户)可以使用用来进行 LAN 连接的“启用”和“禁用”选项。用户可以通过双击代表连接的图标、右键单击它或使用“文件”菜单，启用/禁用 LAN 连接。</em></p><p><em>如果禁用此设置(并启用“为管理员启用网络连接设置”设置)，则双击此图标时无效，并且对所有用户(包括管理员)禁用“启用”和“禁用”菜单项。</em></p><p><em>重要提示:如果禁用或不配置“为管理员启用网络连接设置”，此设置将不适用于 Windows 2000 以后的计算机上的管理员。</em></p><p><em>如果不配置此设置，则只有管理员和网络配置操作员才可以启用/禁用 LAN 连接。</em></p><p><em>注意:管理员仍然可以在禁用此设置时从设备管理器启用/禁用 LAN 连接。</em></p><p><em>确定 Windows 2000 Server 家族中的已有设置是否将适用于管理员。</em></p><p><em>Windows 2000 Professional 中已有的“网络连接”组设置的集合也存在于 Windows XP Professional 之中。在 Windows 2000 Professional 中，所有这些设置都具有禁止管理员使用某些功能的能力。</em></p><p><em>默认情况下，Windows XP Professional 中的“网络连接”组设置不具有禁止管理员使用功能的能力。</em></p><p><em>如果启用此设置，已存在于 Windows 2000 Professional 中的 Windows XP 设置会具有阻止管理员使用某些功能的能力。这些设置为:“重命名所有用户可以使用的 LAN 连接或远程访问连接的能力”、“禁止访问 LAN 连接组件的属性”、“禁止访问远程访问连接组件的属性”、“访问 TCP/IP 高级配置的能力”、“禁止访问高级菜单上的高级设置项”、“禁止添加和删除用来进行 LAN 连接或远程访问连接的组件”、“禁止访问 LAN 连接的属性”、“禁止启用/禁用 LAN 连接组件”、“更改所有用户远程访问连接的属性的能力”、“禁止更改专用远程访问连接的属性”、“禁止删除远程访问连接”、“删除所有用户远程访问连接的能力”、“禁止连接和断开连接远程访问连接”、“启用/禁用 LAN 连接的能力”、“禁止访问新建连接向导”、“禁止重命名专用远程访问连接”、“禁止访问高级菜单上的远程访问首选项菜单项”、“禁止查看活动连接的状态”。启用此设置时，同时存在于 Windows 2000 Professional 和 Windows XP Professional 中的设置对管理员的行为相同。</em></p><p><em>如果禁用或不配置此设置，已存在于 Windows 2000 中的 Windows XP 设置将不适用于管理员。</em></p><p><em>注意:此设置是专门用于正在应用这些设置的组策略对象同时包含 Windows 2000 Professional 和 Windows XP Professional 计算机的情形中，并且在所有 Windows 2000 Professional 和 Windows XP Professional 计算机之间必需相同的网络连接策略行为。</em></p>]]></description><guid>http://www.loveyuki.com/Article/Dont_Disable_Local_Area_Connection.aspx</guid><trackback:ping>http://www.loveyuki.com/Article/51/Trackback.ashx</trackback:ping><comments>http://www.loveyuki.com/Article/Dont_Disable_Local_Area_Connection.aspx#CommentPostAnchor</comments><wfw:commentRss>http://www.loveyuki.com/Article/51/Feeds.ashx</wfw:commentRss></item><item><link>http://www.loveyuki.com/Article/Javascript_Load_Style_Elements.aspx</link><title><![CDATA[Javascript 动态加载 CSS STYLE 元素]]></title><author>loveyuki@gmail.com()</author><category>技术新知</category><pubDate>Thu, 31 Jan 2008 15:21:44 GMT</pubDate><description><![CDATA[<p>用 Javascript 动态加载一个 CSS 文件的方法很简单，但是如果想要加载一个 CSS STYLE 元素，里面写入一些 CSS 语句就没有那么简单了。不过也难不倒我们，查一查 MSDN 和 Mozilla 的开发网站就可以写出来了，下面的语句兼容了 IE,Firefox,Safari，Opera 没有测试。</p><pre><ol class="dp-c"><li class="alt"><span><span class="keyword">function</span><span>&nbsp;AttachStyle(ownDoc,styCss)&nbsp;{&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">var</span><span>&nbsp;elmSty&nbsp;=&nbsp;ownDoc.createElement(</span><span class="string">'STYLE'</span><span>);&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;elmSty.setAttribute(<span class="string">&quot;type&quot;</span><span>,&nbsp;</span><span class="string">&quot;text/css&quot;</span><span>);&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span><span>&nbsp;(elmSty.styleSheet)&nbsp;{&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;elmSty.styleSheet.cssText=styCss;&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<span class="keyword">else</span><span>&nbsp;{&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;elmSty.appendChild(ownDoc.createTextNode(styCss));&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;ownDoc.getElementsByTagName(<span class="string">&quot;head&quot;</span><span>)[0].appendChild(elmSty);&nbsp;</span></span></li><li><span>}&nbsp;</span></li></ol></pre>]]></description><guid>http://www.loveyuki.com/Article/Javascript_Load_Style_Elements.aspx</guid><trackback:ping>http://www.loveyuki.com/Article/45/Trackback.ashx</trackback:ping><comments>http://www.loveyuki.com/Article/Javascript_Load_Style_Elements.aspx#CommentPostAnchor</comments><wfw:commentRss>http://www.loveyuki.com/Article/45/Feeds.ashx</wfw:commentRss></item></channel></rss>