<?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:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Log4D &#187; Web前端</title>
	<atom:link href="http://dddspace.com/category/iprogramer_/web_/feed" rel="self" type="application/rss+xml" />
	<link>http://dddspace.com</link>
	<description>IT Makes Better Life</description>
	<lastBuildDate>Tue, 07 Sep 2010 15:28:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>7条大型网站设计和维护的关键技巧[译文]</title>
		<link>http://dddspace.com/2010/07/7-crucial-tips-for-designing-and-maintaining-a-large-site.html</link>
		<comments>http://dddspace.com/2010/07/7-crucial-tips-for-designing-and-maintaining-a-large-site.html#comments</comments>
		<pubDate>Sat, 17 Jul 2010 13:51:53 +0000</pubDate>
		<dc:creator>alswl</dc:creator>
				<category><![CDATA[Web前端]]></category>
		<category><![CDATA[译文]]></category>

		<guid isPermaLink="false">http://dddspace.com/?p=12903</guid>
		<description><![CDATA[原文出处：7 Crucial Tips for Designing and Maintaining a Large Site &#124; Nettuts+

译者：alswl

* * * * * * * * * * * 以下为译文 * * * * * * * * * * * * *

<span class="readmore"><a href="http://dddspace.com/2010/07/7-crucial-tips-for-designing-and-maintaining-a-large-site.html" title="7条大型网站设计和维护的关键技巧[译文]">阅读全文——共4686字</a></span>]]></description>
			<content:encoded><![CDATA[<p>原文出处：<a href="http://net.tutsplus.com/articles/general/7-crucial-tips-for-designing-and-maintaining-a-large-site/">7 Crucial Tips for Designing and Maintaining a Large Site | Nettuts+</a></p>
<p>译者：<a href="http://dddspace.com">alswl</a></p>
<p style="text-align: center;">* * * * * * * * * * * 以下为译文 * * * * * * * * * * * * *</p>
<p>项目范围和规模各不相同，他们带来的挑战各不相同一样。作为一个独立的网页设计师，我最大的职责就是负责FlashDen。随着成千上万的活动用户聊天，上传和购物，网站处理着大额的金钱和巨大的流量。</p>
<p>设计，重构，维护和开发团队的工作给了我一些能使事情变得更容易的用用的见解和技巧。而且，就在昨天，我们开始了对网站最大的一次重构，着看上去是一次很好的机会来记录我最有用的7个秘诀。<span id="more-12903"></span></p>
<h3>1. 可维护的设计和代码</h3>
<p><img height="359" original="http://nettuts.s3.amazonaws.com/Articles/01_FDMakeover/button.jpg" src="http://dddspace.com/wp-content/uploads/2010/07/button.jpg" width="600" /></p>
<p>我给的第一条也是最条一条秘诀是设计站点保证可以轻松维护。很多时候，当你设计一个站点，你可能为了美学牺牲一些东西。例如，你可能使用一个图片而文字或者样式就可以应付。或者你可能故意使用一个没有空间缩放的菜单结构。当网站变大时，这将将成为一个非常糟糕的设计。</p>
<p>当我两年前建成FlashDen的第一个版本时，我使用图片按钮。他们看起来很漂亮，但同时我被100多个不同的按钮图片库拖累着，更谈不上修改图片了。之后在接下来的几个月中，当一个开发者需要一个新按钮时候他们向我要一个新图片。不用说，我学到这个教训很快，我们切换到一个单独的按钮类，虽然看上去不是很好，但是这种情况更能安心。</p>
<p>可维护性的另一面是考虑站点将会怎样成长和变化。比如，当一个新页面增加时，它到哪里去？我一直想要一个横向的导航栏，但是经过一些尝试，我们限制地使用了加入子栏目的垂直的导航栏，从而加入一个标签结构到页面来保证相关的页面能被归类到一起。我不敢说这是世界上最好的导航栏，但是它肯定能够让我们不用重新设计在一个新的节点加入网站的时候。</p>
<p>所以当你在设计大型站点时候，设法让它变得简单，你会为此而感到高兴的！</p>
<h3>2. 找出你的用户群和任务</h3>
<p><img height="430" original="http://nettuts.s3.amazonaws.com/Articles/01_FDMakeover/users.jpg" src="http://dddspace.com/wp-content/uploads/2010/07/users.jpg" width="600" /></p>
<p>大型网站网站和小型站点的最大一个区别就是使用网站的不同用户类型的数量。例如在FlashDen上，有买家、作家、访客、管理员和会员。每个用户组都有他们各自不同的目标和任务。有时候他们的任务重叠，但是他们有很大的不同。</p>
<p>一个地方的用户任务在相互对立的观点最好的例子是在一个网页。网站上没有任何一个地方不衔接的每个用户组，并在其他地方是如此的重要，以确保每个人都会有他们想要的。当然，你要小心，在服务一个用户组你不忽略另一个。</p>
<p>在这次最新一次FlashDen重新设计时候，我所作工作最大的地方是主页。我做的第一件事情是给自己列出每个用户组需要做的事情：</p>
<ol>
<li><strong>买家 &#8211; 在FlashDen上购买文件的人</strong><br />
		浏览项目，搜索，访问他们的个人主页，存款，学习使用网站（新买家）</li>
<li><strong>作者 &#8211; 在FlashDen上卖商品的人</strong><br />
		与其他会员聊天，在主页上展示他们项目的功能，了解网站的新闻，快速的获取他们的投资搭配和收益</li>
<li><strong>新访客 &#8211; 潜在的买家/作者/会员，刚到站点的人</strong><br />
		快速了解到站点是干嘛的，起步教程，查看不同类别的文件和价格</li>
<li><strong>会员 &#8211; 不是真正的买家或作者，而是在社区中活跃</strong><br />
		和其他会员聊天，查看站点新闻，浏览文件</li>
<li><strong>管理员/审稿人 &#8211; 我们的工作人员，管理文件的批准，主持论坛，参与大部分活动</strong><br />
		快速批准文件，查看最新论坛主题，添加站点新闻</li>
</ol>
<p>当你知道不同的用户群体想要做什么，那么你可以设计一个网页，解决了他们所有的需要。不用说，这是随着用户组和任务数量指数级增加的困难的任务。在该网站的其他网页，你会经常为部分用户组而苦恼，而在主页上，他们却又都集中在一起。不用怀疑，主页是你设计一个网站时候最重要的一项工作。</p>
<p>在你解决不同需求之前，你需要先考虑用户群。为了做到这个，你需要了解该网站是要实现的目标。</p>
<h3>3. 了解网站目标</h3>
<p><img height="430" original="http://nettuts.s3.amazonaws.com/Articles/01_FDMakeover/discuss.jpg" src="http://dddspace.com/wp-content/uploads/2010/07/discuss.jpg" width="600" /></p>
<p>虽然每个用户组会很自然地认为他们是最重要的，但是你应该根据他们的优先度来判别站点要实现的目标。比如在FlashDen上，我们给候补人员列出下面几条结论：</p>
<ul>
<li>该网站的首要任务是为买家服务。为买家服务可以带来不断的收入，同时也可以为作者群服务。</li>
<li>让游客更快的了解网站进而成为会员也是至关重要的。FlashDen还处在一个比较新兴的市场，不断有新竞争对手出现，如何将注册会员变成买家或者作者是相当重要的。</li>
<li>创作者是FlashDen的核心部分，他们也是非常重要，和其他用户群不同的是，他们是网站坚定的拥护者。</li>
<li>注册会员虽然没有创作者或者买家这么重要，但是他们也在为周边的社群作出贡献。</li>
<li>作为雇员，管理员/审稿人是相对最不重要的。</li>
</ul>
<p>因此，从以上所说可以得出结论，网站服务的的用户需求优先顺序：访客&gt;买家&gt;作者&gt;成员&ldquo;&gt;管理员。</p>
<p>认识你的网站正在努力实现的却是最终用户线程的缝制任务一起，并告诉你什么你应该尝试把页面上。</p>
<p>理解你的网站目的可以把你的所要作的任务贯穿在一起，并且能告诉你应该在页面上放些什么东西。在每个关键性页面你要能区分识别出用户组、任务和优先级别。对于重要的页面比如主页我慎重的在纸上设计，而一些小的页面则是在脑子里面思考一下。</p>
<h3>4. 设计，精炼，精炼，精炼 &hellip;</h3>
<p><a href="http://dddspace.com/wp-content/uploads/2010/07/step4_nm.jpg" class="highslide-image" onclick="return hs.expand(this);"><img height="307" original="http://nettuts.s3.amazonaws.com/Articles/01_FDMakeover/step4_nm.jpg" src="http://dddspace.com/wp-content/uploads/2010/07/step4_nm.jpg" width="600" /></a></p>
<p>在你找到你的用户组别，任务，网站目标，优先级别等等之后，到了设计的时间了！这是至关重要的步骤，因为在实际操作中，这一步可以大幅降低一些将必要的返工设计工作量。每当我刚开始设计并没有真正分析第一大网站，我已不可避免地要大量的返工，甚至整个屏幕交互界面。</p>
<p>很多设计师喜欢在这点用线框，这可以简单地用线条和框勾勒大约内容应该显示的地方。我个人更喜欢一开始用Photoshop，因为我速度不够快，这样能让我细致地看到细节的改变。我也认为详细细节信息设计比在纸上显示更直观。简单地改变颜色和背景颜色可以使整个网页页面元素立马看上去更为重要。</p>
<p>一旦你有一个怎样的信息需要共同努力粗略的想法，你应该拿出一个工作的设计，一般是确定，然后再精炼，精炼，精炼。我经常会起草5到6相同的外观，然后在之上尝试不同类型、大小、图像，布局的改动，背景等等，看看你对它的直观感受。</p>
<p>不管你觉得第一个布局有多好，我可以保证，在花费一段时间进行数次版本升级之后，你会发现了你原来的版本不是和你最初想到的那么好。有时你甚至抛弃整个设计并重新开始。而如果你有一个良好的基础，然后精炼细化能让你有一个漂亮的成果。</p>
<h3>5. 听取别人的意见，自己下最后的主意</h3>
<p>任何一个大型的工作中，你都会被其他很多意见所影响。在开始FlashDen工作之前，我曾经与各种网站设计公司合作。期间我也有不幸设计一些大型保险公司和一些政府组织。我说不幸，因为当你到该客户和牵扯很多利益的人打交道，同时在许多当时还不清楚真正的决策权的情况下作出错误决策。这会导致无休止的会议，无穷无尽的变化，并极大的混淆你的眼光。</p>
<p>不管是什么用户，真正重要的只是得到他们的意见。在大多数情况下，他们比你更知道了很多与业务有关的事。但愿他们比你还了解用户，这些知识将能够向你提供建设性的意见。</p>
<p>得到与你一起工作的开发团队的意见也同样重要。在FlashDen我们很幸运，因为有两个开发者在用户界面和可用性设计方面经验丰富。随着他们的投入，和其他团队成员，向最终的产品提出了很多不同的想法。</p>
<p>但到最后，就是你这个设计专家作出最后决定的时候了。如果你有一个难对付的客户这可能会非常棘手，因为这些客户往往认为他们应该作最后的决策。如果是这样的话，你需要想办法向他们解释，灌输并且展示出你的选择会带来最好的收益。;有时候硬着头皮把客户的意见接受，并作为项目中的一个长期建设性功能。</p>
<h3>6. 为将来做组织</h3>
<p><img height="475" original="http://nettuts.s3.amazonaws.com/Articles/01_FDMakeover/subversion.jpg" src="http://dddspace.com/wp-content/uploads/2010/07/subversion.jpg" width="600" /></p>
<p>当您为一个大网站编码设计时，它是真正重要的是反复思考未来的变化。如何管理您的文件和文件夹将极大地影响之后的工作。例如最近我们决定建立一个着重音乐的FlashDen的姊妹网站，即AudioJungle。为了简化，这个网站是将使用相同的HTML，只是改变样式来使它看起来像一个不同的网站。这里有一些事情要记住：</p>
<ol>
<li><strong>整理一个良好的文件夹结构</strong><br />
		脚本，样式表，界面的图片，图片内容，等等，都需要分开存放。如果一个小网站，你也许可以把这些东西杂糅到一起，但在大型站点中，找到你需要的内容变得更为重要。</li>
<li><strong>给你的文件使用有规则、良好的命名规范</strong><br />
		没有什么比按名字&ldquo;gd_l3.jpg&rdquo;寻找一块图片更为糟糕。你怎样做即基本是个人的事，但我觉得使用通用命名描述性文件名的前缀会有更大的帮助。比如：我可能会给头部的每张图片加上前缀&#39;header_&#39;，每一个背景加上&#39;bg_&#39;，头部菜单中的背景可能称为&#39;header_bg_menu.jpg&#39;。前缀有一个好处，当您的文件按名称排序，他们都出现在一起。</li>
<li><strong>使用Subversion</strong><br />
		这是被我们的开发人员逼得，但幸亏我们用了它！Subversion可以跟踪文件和档案的变更，同时可以防止覆盖其他设计者/开发者在同一个项目中的文件。这需要一些时间来适应，但即使没有开发者使用它的原因，在HTML / CSS的设计上用它也是值得的。还不知道Subversion？赶紧去使用吧。</li>
<li><strong>在你写HTML和CSS深入思考写法</strong><br />
		很容易写出垃圾HTML和CSS代码，而且很难清除它们来获得原先版本。经过4个重设计，我仍然使用很多相同的CSS文件，必须规划地清理不再使用的或者带来混淆布局定义CSS类。通过大量的意见，甚至可能是多个样式表，并确保你有良好的命名风格！&nbsp;</li>
<li><strong>早点开始浏览器差异兼容工作</strong><br />
		我在FlashDen这方面的工作听失误的，至今我们已经为此付出了很大的代价。我最初的布局设计在IE7上，直到我们完成整个网站才发现忽略了IE6。之后我们已经加入IE浏览器条件式，和CSS Hack和其他解决方法。在你建立一个庞大的站点时候，在页面上只有少量元素时候可以更轻松的处理浏览器兼容性，，所以不要重蹈覆辙！</li>
</ol>
<h3>7. 确保可以简单的扩展你的样式表</h3>
<p><img height="405" original="http://nettuts.s3.amazonaws.com/Articles/01_FDMakeover/future.jpg" src="http://dddspace.com/wp-content/uploads/2010/07/future.jpg" width="600" /></p>
<p>网站越大，设计师就越有可能看到或修改每一个单独页面。如果你是一个大型网站上唯一设计师 &#8211; 比如我 &#8211; 你可能不想在每个页面上重定义。因此，多花精力在样式表上，可以通过默认的属性让页面看起来不错。</p>
<ul>
<li><strong>确保你定义了&lt;input&gt;，&lt;strong&gt;等元素的默认样式。</strong><br />
		这样的页面可以自动呈现的不错。如果你想指望别人做&lt;strong class=&quot;my_bold&quot;&gt;这样的事情，那么不可避免的会和其他页面产生差异</li>
<li><strong>创建可让开发人员重复使用的元素</strong><br />
		比如在FlashDen上我们有一个CSS表类称为&ldquo;general_table&rdquo;，可以确保一个不错的填充数据时候使用的样式。当我有机会设计网页样式时候，我可以使用个性的表和数据高亮呈现的类型，但是很少会有开发人员吧页面制作成全能的样式去使用。</li>
<li><strong>请确保您的网页布局有一个不错的结构，即使他里面只有文字。</strong><br />
		总是会有些网页还没能往里面添加图像，可能看起来有点沉闷。通过使用诸如标题样式，工具条等等，你可以确保他们也很美观，并且有一定的视觉风格。有关FlashDen在大多数例子中，我们文本块总结如下：</li>
</ul>
<p>&lt;fieldset&gt;<br />
	&lt;legend&gt;Heading&lt;/legend&gt;<br />
	Content<br />
	&lt;/fieldset&gt;</p>
<p>默认情况下，文字外面包围着一个漂亮的边框和标题。这样很容易和开发人员协调工作，文字和表现有了不错的分离，使之看起来更具可读性。我们同时也有一个侧边栏组件，仅仅把文字内容额外包起来，但是这能使网页看起来更加直观。</p>
<p>经过设计师的设计，每一个页面基本都是优化过的，但是他们可能不是那么健壮，它仍然看起来很专业和统一。</p>
<h3>你的观点呢</h3>
<p>所以这些都是我的秘诀，如果你在更大的站点从事你的工作，发表你的评论吧！</p>
<div style="margin-top: 15px; background: none repeat scroll 0pt 0pt rgb(238, 238, 238);">
<p><strong>版权所有 © 2010 转载本站文章请注明：</strong> 转载自<a target="_blank" href="http://dddspace.com/">Log4D</a><br /><strong>原文链接:</strong> <a target="_blank" href="http://dddspace.com/2010/07/7-crucial-tips-for-designing-and-maintaining-a-large-site.html">http://dddspace.com/2010/07/7-crucial-tips-for-designing-and-maintaining-a-large-site.html</a><br />您可以随意地转载本站的文章，但是必须在醒目位置注明来源及本站链接，不可以将本站文章商业化使用，或者修改、转换或者以本作品为基础进行创作。<br />3a1ff193cee606bd1e2ea554a16353ee</p>
</div>
<div  class="related_post_title">相关文章</div><ul class="related_post"><li><a href="http://dddspace.com/2010/03/guide-to-find-a-wordpress-syntax-highlighter-that-works-translation.html" title="WordPress代码高亮插件指南[译文]">WordPress代码高亮插件指南[译文]</a></li><li><a href="http://dddspace.com/2010/03/use-firebug-and-firephp-debugging-php.html" title="使用Firebug和FirePHP调试PHP[译文]">使用Firebug和FirePHP调试PHP[译文]</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://dddspace.com/2010/07/7-crucial-tips-for-designing-and-maintaining-a-large-site.html/feed</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>IE XML 缓存问题</title>
		<link>http://dddspace.com/2010/06/ie-xml-cache-problem.html</link>
		<comments>http://dddspace.com/2010/06/ie-xml-cache-problem.html#comments</comments>
		<pubDate>Wed, 02 Jun 2010 07:15:42 +0000</pubDate>
		<dc:creator>alswl</dc:creator>
				<category><![CDATA[Web前端]]></category>
		<category><![CDATA[AzaAjaxChat]]></category>
		<category><![CDATA[IE]]></category>
		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://dddspace.com/?p=12893</guid>
		<description><![CDATA[明天开始上交毕业设计初稿，其中有一节是遇到的问题和解决办法。我把平时在BooguNote 中的琐碎片段整理出来，便有了此文。

PS:之前已经有过3篇相关毕设的文章：

CakePHP的全局变量

<span class="readmore"><a href="http://dddspace.com/2010/06/ie-xml-cache-problem.html" title="IE XML 缓存问题">阅读全文——共980字</a></span>]]></description>
			<content:encoded><![CDATA[<p>明天开始上交毕业设计初稿，其中有一节是遇到的问题和解决办法。我把平时在BooguNote 中的琐碎片段整理出来，便有了此文。</p>
<p>PS:之前已经有过3篇相关毕设的文章：</p>
<p><a href="http://dddspace.com/2010/05/cakephp-global-variables.html">CakePHP的全局变量<br />
	</a></p>
<p><a href="http://dddspace.com/2010/05/fms-80-port-used.html">FMS的80端口占用<br />
	</a></p>
<p><a href="http://dddspace.com/2010/05/swfobject.html">SWFObject 一款JavaScript的Flash检测与插入模块<br />
	</a></p>
<p style="text-align: center;">&#8212;- 正文开始 &#8212;-</p>
<h2>问题背景</h2>
<p>系统要实现一个操作，即每次向同一个url 请求一个GET方法获取一个xml文件，这个xml文件记录着聊天数据并且是即时生成的。当用FireFox或者Chrome请求时候都能获得正确的数据，而IE则常常出现无法获取实时的XML数据。</p>
<p>而如果在地址栏中填入 http://localhost/AzaAjaxChat/src/Chat/getXml?messageId=41 这个原始的XML文件地址，就可以获取正确的XML文件。并且在下次IE 的 HTTPRequest请求时候就正常了。看来问题出在IE自身的缓存上面。<span id="more-12893"></span></p>
<h2>解决方法</h2>
<h3>1.使用URL参数随机事件</h3>
<p>在AJAX请求的页面后加个随机函数,我们可以使用随机时间函数，在javascript发送的URL后加上t=Math.random()。</p>
<p>当然，不是直接把t=Math.random()拷贝到URL后面,应该像这样:</p>
<pre class="brush: jscript;fontsize: 100; first-line: 1; ">url = url + &quot;&amp; amp;&quot; + &quot;t=&quot; + Math.random();</pre>
<h3>2.修改Header缓存时间</h3>
<p>在XMLHttpRequest发送请求之前加上 XMLHttpRequest.setRequestHeader(&quot;If-Modified-Since&quot;,&quot;0&quot;)。一般情况下,这里的 XMLHttpRequest 不会直接使用。</p>
<p>你应该可以找到这样的代码<br />
	XXXXX.send(YYYYYY);</p>
<p>那么,就把它变成<br />
	XXXXX.setRequestHeader(&quot;If-Modified-Since&quot;,&quot;0&quot;);<br />
	XXXXX.send(YYYYYY);</p>
<h2>a Sample</h2>
<p>我选择的是第一种方法，我觉得这种更为直观。我的具体代码如下（使用jQuery）：</p>
<pre class="brush: jscript;fontsize: 100; first-line: 1; ">jQuery.get(&quot;http://localhost/AzaAjaxChat/src/Chat/getXml&quot;, {
	messageId: aacGlobal.currentMessageId,
	version: Math.random()
}, getRemoteDataCallBack);</pre>
<div style="margin-top: 15px; background: none repeat scroll 0pt 0pt rgb(238, 238, 238);">
<p><strong>版权所有 © 2010 转载本站文章请注明：</strong> 转载自<a target="_blank" href="http://dddspace.com/">Log4D</a><br /><strong>原文链接:</strong> <a target="_blank" href="http://dddspace.com/2010/06/ie-xml-cache-problem.html">http://dddspace.com/2010/06/ie-xml-cache-problem.html</a><br />您可以随意地转载本站的文章，但是必须在醒目位置注明来源及本站链接，不可以将本站文章商业化使用，或者修改、转换或者以本作品为基础进行创作。<br />3a1ff193cee606bd1e2ea554a16353ee</p>
</div>
<div  class="related_post_title">相关文章</div><ul class="related_post"><li><a href="http://dddspace.com/2010/08/azaajaxchat-notes-implementation.html" title="AzaAjaxChat笔记-实现">AzaAjaxChat笔记-实现</a></li><li><a href="http://dddspace.com/2010/05/swfobject.html" title="SWFObject 一款JavaScript的Flash检测与插入模块">SWFObject 一款JavaScript的Flash检测与插入模块</a></li><li><a href="http://dddspace.com/2010/08/azaajaxchat-notes-frame.html" title="AzaAjaxChat笔记-框架">AzaAjaxChat笔记-框架</a></li><li><a href="http://dddspace.com/2010/05/cakephp-global-variables.html" title="CakePHP的全局变量">CakePHP的全局变量</a></li><li><a href="http://dddspace.com/2010/01/development-of-cross-browser-javascript-should-pay-attention-to-the-problem.html" title="开发跨浏览器JavaScript时要注意的问题">开发跨浏览器JavaScript时要注意的问题</a></li><li><a href="http://dddspace.com/2009/09/jquery-to-achieve-the-school-network-image-circle-of-people-function-results.html" title="jQuery图片圈人功能在ASP.NET下的改进">jQuery图片圈人功能在ASP.NET下的改进</a></li><li><a href="http://dddspace.com/2009/05/discussion-on-javascript-disabled.html" title="关于禁用Javascript的讨论">关于禁用Javascript的讨论</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://dddspace.com/2010/06/ie-xml-cache-problem.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SWFObject 一款JavaScript的Flash检测与插入模块</title>
		<link>http://dddspace.com/2010/05/swfobject.html</link>
		<comments>http://dddspace.com/2010/05/swfobject.html#comments</comments>
		<pubDate>Sun, 23 May 2010 10:23:52 +0000</pubDate>
		<dc:creator>alswl</dc:creator>
				<category><![CDATA[Flash编程]]></category>
		<category><![CDATA[Web前端]]></category>
		<category><![CDATA[AzaAjaxChat]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[SWFObject]]></category>

		<guid isPermaLink="false">http://dddspace.com/?p=12891</guid>
		<description><![CDATA[今天开始AzaAjaxChat的视频聊天模块，拖FMS的福，实现起来很轻松，不过后来在JavaScript和Flash的交互上遇到了问题。

Flash在各个浏览器中的实现始终是个麻烦的事情，什么Object Embed~，似乎没有什么标准的格式，一般都要做一些浏览器Hack，我对这些深痛恶绝，在泡了一下午前端相关的论坛后，偶然发现一款JavaScript交互的神器。



<span class="readmore"><a href="http://dddspace.com/2010/05/swfobject.html" title="SWFObject 一款JavaScript的Flash检测与插入模块">阅读全文——共635字</a></span>]]></description>
			<content:encoded><![CDATA[<p>今天开始AzaAjaxChat的视频聊天模块，拖FMS的福，实现起来很轻松，不过后来在JavaScript和Flash的交互上遇到了问题。</p>
<p>Flash在各个浏览器中的实现始终是个麻烦的事情，什么Object Embed~，似乎没有什么标准的格式，一般都要做一些浏览器Hack，我对这些深痛恶绝，在泡了一下午前端相关的论坛后，偶然发现一款JavaScript交互的神器。</p>
<p><img alt="" height="106" src="http://www.bobbyvandersluis.com/swfobject/img/swfobject_logo.gif" width="418" /></p>
<h2>SWFObject: 基于Javascript的Flash媒体版本检测与嵌入模块</h2>
<p>SWFObject是一个用于在HTML中方面插入Adobe Flash媒体资源（*.swf文件）的独立、敏捷的JavaScript模块。该模块中的JavaScript脚本能够自动检测PC、Mac机器上各种主流浏览器对Flash插件的支持情况。它使得插入Flash媒体资源尽量简捷、安全。而且它是非常符合搜索引擎优化的原则的。此外，它能够避免您的 HTML、XHTML中出现object、embed等非标准标签，从而符合更加标准。<br />
	（即：通过text/html应答页面， 而非application/xhtml+xml）</p>
<p>官方在Google Project Host中，下载的代码包中有一个简单的Example，也包含了SWFObject的源码，感兴趣的同学可以研究一下。</p>
<p>相关链接：</p>
<p><a href="http://code.google.com/p/swfobject">swfobject &#8211; Project Hosting on Google Code<br />
	</a></p>
<p><a href="http://www.awflasher.com/flash/articles/swfobj.htm">SWFObject中文的帮助文档<br />
	</a></p>
<p>如果你也像我这样为Flash发愁，不妨试试这个小巧的js~</p>
<div style="margin-top: 15px; background: none repeat scroll 0pt 0pt rgb(238, 238, 238);">
<p><strong>版权所有 © 2010 转载本站文章请注明：</strong> 转载自<a target="_blank" href="http://dddspace.com/">Log4D</a><br /><strong>原文链接:</strong> <a target="_blank" href="http://dddspace.com/2010/05/swfobject.html">http://dddspace.com/2010/05/swfobject.html</a><br />您可以随意地转载本站的文章，但是必须在醒目位置注明来源及本站链接，不可以将本站文章商业化使用，或者修改、转换或者以本作品为基础进行创作。<br />3a1ff193cee606bd1e2ea554a16353ee</p>
</div>
<div  class="related_post_title">相关文章</div><ul class="related_post"><li><a href="http://dddspace.com/2010/08/azaajaxchat-notes-implementation.html" title="AzaAjaxChat笔记-实现">AzaAjaxChat笔记-实现</a></li><li><a href="http://dddspace.com/2010/06/ie-xml-cache-problem.html" title="IE XML 缓存问题">IE XML 缓存问题</a></li><li><a href="http://dddspace.com/2010/08/azaajaxchat-notes-frame.html" title="AzaAjaxChat笔记-框架">AzaAjaxChat笔记-框架</a></li><li><a href="http://dddspace.com/2010/05/cakephp-global-variables.html" title="CakePHP的全局变量">CakePHP的全局变量</a></li><li><a href="http://dddspace.com/2010/01/development-of-cross-browser-javascript-should-pay-attention-to-the-problem.html" title="开发跨浏览器JavaScript时要注意的问题">开发跨浏览器JavaScript时要注意的问题</a></li><li><a href="http://dddspace.com/2009/09/jquery-to-achieve-the-school-network-image-circle-of-people-function-results.html" title="jQuery图片圈人功能在ASP.NET下的改进">jQuery图片圈人功能在ASP.NET下的改进</a></li><li><a href="http://dddspace.com/2009/05/discussion-on-javascript-disabled.html" title="关于禁用Javascript的讨论">关于禁用Javascript的讨论</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://dddspace.com/2010/05/swfobject.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>界面设计利器-Balsamiq Mockups</title>
		<link>http://dddspace.com/2010/04/ui-design-tool-balsamiq-mockups.html</link>
		<comments>http://dddspace.com/2010/04/ui-design-tool-balsamiq-mockups.html#comments</comments>
		<pubDate>Wed, 07 Apr 2010 13:28:10 +0000</pubDate>
		<dc:creator>alswl</dc:creator>
				<category><![CDATA[Web前端]]></category>
		<category><![CDATA[工欲善其事必先利其器]]></category>
		<category><![CDATA[Mockups]]></category>
		<category><![CDATA[UI]]></category>

		<guid isPermaLink="false">http://dddspace.com/?p=12878</guid>
		<description><![CDATA[在最近的一次项目进行过程中，我体会到UI前期Demo设计的重要性，为此付出了惨痛的代价，痛定思痛，我决定以后一定要通过一个完整的页面对界面进行描述，这里隆重介绍Mockups。

之前很多次接触过Balsamiq Mockups 这款界面设计利器（delicious最早收藏是在09年5月），也曾经试用过Demo版本，因为我本身是后台码代码的，所以用到UI设计的机会并不多，也没有特意去申请Mockups的许可证。

介绍

<span class="readmore"><a href="http://dddspace.com/2010/04/ui-design-tool-balsamiq-mockups.html" title="界面设计利器-Balsamiq Mockups">阅读全文——共1450字</a></span>]]></description>
			<content:encoded><![CDATA[<p>在最近的一次项目进行过程中，我体会到UI前期Demo设计的重要性，为此付出了惨痛的代价，痛定思痛，我决定以后一定要通过一个完整的页面对界面进行描述，这里隆重介绍Mockups。</p>
<p>之前很多次接触过Balsamiq Mockups 这款界面设计利器（delicious最早收藏是在09年5月），也曾经试用过Demo版本，因为我本身是后台码代码的，所以用到UI设计的机会并不多，也没有特意去申请Mockups的许可证。</p>
<h2>介绍</h2>
<p style="text-align: center;"><img alt="" height="280" src="http://www.balsamiq.com/images/mockupsair.jpg" width="373" /></p>
<p><span id="more-12878"></span></p>
<blockquote>
<p>Balsamiq Mockups 提供了 9 大类共 50 多个控件，涵盖了几乎所有常用的 UI 控件。不管是桌面软件、手机软件还是 Web 站点，都能搞定。且软件极易上手，如上图的豆瓣新主页，是我首次使用 Balsamiq Mockups 时随手画的，仅用 15 分钟。另外必须一提的是，Balsamiq Mockups 涂鸦式的手绘风格，能使人集中注意力，专注到于原型的原始目的，而不是对外观挑三拣四。</p>
<p style="text-align: right;">via <a href="http://lightory.net/balsamiq-mockups/473/">Balsamiq Mockups &ndash; 产品原型设计工具</a></p>
</blockquote>
<h2>功能</h2>
<blockquote>
<ol>
<li>操作方面，拖拽，控件分组，甚至元素之间的对齐都做得很贴心；</li>
<li>预制了很多界面元素，从简单的输入框，下拉框，浏览器主要元素，到经常用得到的导航条，日历，表格，到复杂的Tag Cloud，Cover Flow, 地图，WYSWYG的格式工具栏等，有了这些不用从头画起，往往比用白板都快；</li>
<li>界面元素的修改很简单，比如导航条的几个标签页的label，就是用逗号分隔的文字，下拉框的选项就是分行的文字；</li>
<li>使用xml语言来记录和保存界面元素和布局，
<ol>
<li>这使得每个设计都能被很好得放进SVN，Git，和CVS等工具中进行管理和跟踪；</li>
<li>可以设计复杂的界面元素，保存后，以后可以重复使用（包括修改）；</li>
</ol>
</li>
<li>可以将设计导出成PNG格式的图片；<br />
			<img alt="balsamiq markup exported to png" src="http://farm4.static.flickr.com/3451/3179518230_5ec1947cb9_m.jpg" /></li>
<li>可以用命令行进行导出操作，这样就能让我写个脚本，从svn里checkout某个目录下的所有设计文件后，导出图片，打包后用邮件发到项目经 理，工程师甚至客户那；</li>
<li>跨平台，Balsamiq Mokups是用Flex和Air实现的，所以在Mac OS, Linux和Windows下都能使用；</li>
<li>不仅仅有桌面版本，还有能集成在Confluence，JIRA，和XWiki中的版本，使得异地在线协作更方便有效；</li>
</ol>
<p style="text-align: right;">via <a href="http://www.yining.org/2009/01/09/balsamiq-mockups-review/">推荐一款界面设计工具 Balsamiq Mockups</a></p>
</blockquote>
<h2>试用</h2>
<p>点击<a href="http://www.balsamiq.com/products/mockups/web">myBalsamiq, the Balsamiq Mockups Web App | Balsamiq</a> 即可尝试一下在线版本，看看它合不合你胃口。</p>
<p>点击<a href="http://www.balsamiq.com/products/mockups/desktop">Balsamiq Mockups For Desktop | Balsamiq</a> 可以下载桌面Demo版本。这是AIR下的软件，需要AIR环境支持。</p>
<h2>获取免费的版本</h2>
<blockquote>
<p>不过让国内用户不习惯的是，这款软件定价为 $79 ，偏高。当然&nbsp;Balsamiq&nbsp;Studios&nbsp;也为用户提供了 5 种免费获得&nbsp;license key 的机会，其中之一就是针对科技/软件 Blogger 或媒体从业者，鼓励这类用户通过写 Blog 口碑传播的方式帮助&nbsp;Balsamiq Mockups 营销。写完本文，我也会尝试向作者申请一个&nbsp;license key。</p>
<p style="text-align: right;">via <a href="http://ecvip.org/archives/786">产品原型设计软件Balsamiq Mockups | 黄海均的互联网志</a></p>
</blockquote>
<p>PS：我对作者这种做法表示很欣赏，通过一些可行的手段支持正版，同时提高了产品的口碑。</p>
<h2>更多</h2>
<p>使用Napkee插件可以将设计导出为Html+CSS+JS或者Flex格式，详情请参见<a href="http://lightory.net/napkee/477/">Napkee &ndash; 导出Balsamiq Mockups网页原型</a></p>
<p><span style="color: rgb(255, 0, 0);">2010-04-14 Update:</span><br />
	已拿到作者发送注册码～～～终于到了。。。</p>
<div style="margin-top: 15px; background: none repeat scroll 0pt 0pt rgb(238, 238, 238);">
<p><strong>版权所有 © 2010 转载本站文章请注明：</strong> 转载自<a target="_blank" href="http://dddspace.com/">Log4D</a><br /><strong>原文链接:</strong> <a target="_blank" href="http://dddspace.com/2010/04/ui-design-tool-balsamiq-mockups.html">http://dddspace.com/2010/04/ui-design-tool-balsamiq-mockups.html</a><br />您可以随意地转载本站的文章，但是必须在醒目位置注明来源及本站链接，不可以将本站文章商业化使用，或者修改、转换或者以本作品为基础进行创作。<br />3a1ff193cee606bd1e2ea554a16353ee</p>
</div>
<div  class="related_post_title">你也许会喜欢下面的文章</div><ul class="related_post"><li><a href="http://dddspace.com/2010/07/difference-between-char-nchar-varchar-nvarchar.html" title="char nchar varchar nvarchar 区别">char nchar varchar nvarchar 区别</a></li><li><a href="http://dddspace.com/2010/03/a-solution-of-can-not-create-or-open-the-smart-device-project-in-vs2005.html" title="VS2005无法创建或打开&#8221;智能设备&#8221;项目的一个问题的解决方法">VS2005无法创建或打开&#8221;智能设备&#8221;项目的一个问题的解决方法</a></li><li><a href="http://dddspace.com/2009/03/the-most-powerful-ibm-publib-information-center.html" title="IBM publib 最强大资料中心">IBM publib 最强大资料中心</a></li><li><a href="http://dddspace.com/2009/08/jie-jue-windows-server-2003-bu-ren-u-pan-huo-yi-dong-ying-pan.html" title="解决windows server 2003不认U盘或移动硬盘">解决windows server 2003不认U盘或移动硬盘</a></li><li><a href="http://dddspace.com/2008/12/annoying-clip.html" title="恼人的美工">恼人的美工</a></li><li><a href="http://dddspace.com/2009/08/wordpress-to-add-robots-txt.html" title="给WordPress加上robots.txt">给WordPress加上robots.txt</a></li><li><a href="http://dddspace.com/2009/05/rainy-day.html" title="下雨天">下雨天</a></li><li><a href="http://dddspace.com/2009/07/chinese-theme-wordpress.html" title="WordPress的中文主题">WordPress的中文主题</a></li><li><a href="http://dddspace.com/2009/11/delphi-study-notes-02.html" title="Delphi学习笔记02">Delphi学习笔记02</a></li><li><a href="http://dddspace.com/2009/02/ajax-drag-and-drop-fun-the-way-chrome-test-the-code-under-the-highlighted-text-editor-search.html" title="Ajax 好玩的拖拽（顺便测试chrome下文字编辑的代码高亮）">Ajax 好玩的拖拽（顺便测试chrome下文字编辑的代码高亮）</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://dddspace.com/2010/04/ui-design-tool-balsamiq-mockups.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>flower shop 汉化</title>
		<link>http://dddspace.com/2010/03/speaking-of-flower-shop.html</link>
		<comments>http://dddspace.com/2010/03/speaking-of-flower-shop.html#comments</comments>
		<pubDate>Tue, 23 Mar 2010 09:38:27 +0000</pubDate>
		<dc:creator>alswl</dc:creator>
				<category><![CDATA[Web前端]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Html]]></category>

		<guid isPermaLink="false">http://dddspace.com/?p=12869</guid>
		<description><![CDATA[死党的女朋友的一门网页设计课需要作品，向我求援。我看了一下他们的课件，没有什么动态语言，静态的Html页面即可。

在99款高质量免费(X)HTML/CSS模板-DIV+CSS模版下载 &#124; 彬Go看到很多款极佳的网页设计，反复删选后，决定选用一款Flower Shop的作品。



<span class="readmore"><a href="http://dddspace.com/2010/03/speaking-of-flower-shop.html" title="flower shop 汉化">阅读全文——共401字</a></span>]]></description>
			<content:encoded><![CDATA[<p>死党的女朋友的一门网页设计课需要作品，向我求援。我看了一下他们的课件，没有什么动态语言，静态的Html页面即可。</p>
<p>在<a href="http://blog.bingo929.com/99-high-quality-free-xhtml-css-div-templates.html">99款高质量免费(X)HTML/CSS模板-DIV+CSS模版下载 | 彬Go</a>看到很多款极佳的网页设计，反复删选后，决定选用一款Flower Shop的作品。</p>
<p style="text-align: center;"><a href="http://dddspace.com/wp-content/uploads/2010/03/Flower Shop.jpg" class="highslide-image" onclick="return hs.expand(this);"><img alt="" height="360" src="http://dddspace.com/wp-content/uploads/2010/03/Flower Shop.jpg" width="400" /></a></p>
<p>原始预览：<a href="http://csscreme.com/freetemplates/flower_shop/">http://csscreme.com/freetemplates/flower_shop/</a><br />
	原始下载：<a href="http://csscreme.com/tpsaveas.php?tp=flower_shop.zip">http://csscreme.com/tpsaveas.php?tp=flower_shop.zip</a></p>
<p><span id="more-12869"></span></p>
<p>花了1个小时汉化了页面，想了想，还是把这个汉化发布吧。</p>
<p style="text-align: center;"><a href="http://dddspace.com/wp-content/uploads/2010/03/Feng's Flower Shop.jpg" class="highslide-image" onclick="return hs.expand(this);"><img alt="" height="372" src="http://dddspace.com/wp-content/uploads/2010/03/Feng's Flower Shop.jpg" width="400" /></a></p>
<p>页面预览：<a href="http://labs.dddspace.com/other/html/fenflowershop/">http://labs.dddspace.com/other/html/fenflowershop/</a><br />
	下载：<a href="http://workspace4alswl.googlecode.com/files/Feng%27s_Flower_Shop_v_1_1.zip">http://workspace4alswl.googlecode.com/files/Feng&#39;s_Flower_Shop_v_1_1.zip</a></p>
<div style="margin-top: 15px; background: none repeat scroll 0pt 0pt rgb(238, 238, 238);">
<p><strong>版权所有 © 2010 转载本站文章请注明：</strong> 转载自<a target="_blank" href="http://dddspace.com/">Log4D</a><br /><strong>原文链接:</strong> <a target="_blank" href="http://dddspace.com/2010/03/speaking-of-flower-shop.html">http://dddspace.com/2010/03/speaking-of-flower-shop.html</a><br />您可以随意地转载本站的文章，但是必须在醒目位置注明来源及本站链接，不可以将本站文章商业化使用，或者修改、转换或者以本作品为基础进行创作。<br />3a1ff193cee606bd1e2ea554a16353ee</p>
</div>
<div  class="related_post_title">相关文章</div><ul class="related_post"><li><a href="http://dddspace.com/2009/09/inove-changes-under-the-heading-style.html" title="iNove下的heading样式修改">iNove下的heading样式修改</a></li><li><a href="http://dddspace.com/2009/08/tested-in-google-reader-using-flash.html" title="测试在Google Reader下使用Flash">测试在Google Reader下使用Flash</a></li><li><a href="http://dddspace.com/2009/08/ajaxcontroltoolkit-amendment-in-calendarextender-styles.html" title="AjaxControlToolkit中CalendarExtender样式修正">AjaxControlToolkit中CalendarExtender样式修正</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://dddspace.com/2010/03/speaking-of-flower-shop.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>开发跨浏览器JavaScript时要注意的问题</title>
		<link>http://dddspace.com/2010/01/development-of-cross-browser-javascript-should-pay-attention-to-the-problem.html</link>
		<comments>http://dddspace.com/2010/01/development-of-cross-browser-javascript-should-pay-attention-to-the-problem.html#comments</comments>
		<pubDate>Sat, 30 Jan 2010 13:54:05 +0000</pubDate>
		<dc:creator>alswl</dc:creator>
				<category><![CDATA[Web前端]]></category>
		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://dddspace.com/?p=12842</guid>
		<description><![CDATA[最近在做系统的B/S部分，用DWR做Ajax处理，期间遇到一些浏览器兼容的问题，table.insertRow()和row.insertCell()在IE下没有问题，但在FireFox下无效。同事说不用考虑FireFox的兼容，客户使用的环境就是IE。我偏执的认为就算不在所有浏览器下通过，至少在我的FireFox下需要正常运行。

晚上花了一点时间稍微研究了一下跨浏览器开发JavaScript时要注意的问题，的确好多学问。我对JavaScript的认识还太浅，得花时间做一些功课了。

顺便推荐一本JavaScript书《JavaScript语言精粹 》，是大名鼎鼎的&#8220;O&#8217;Reilly&#8221;系列，我只看了试读的第一章节，斗胆推荐

<span class="readmore"><a href="http://dddspace.com/2010/01/development-of-cross-browser-javascript-should-pay-attention-to-the-problem.html" title="开发跨浏览器JavaScript时要注意的问题">阅读全文——共2452字</a></span>]]></description>
			<content:encoded><![CDATA[<p>最近在做系统的B/S部分，用DWR做Ajax处理，期间遇到一些浏览器兼容的问题，<code>table.insertRow()</code>和<code>row.insertCell()</code>在IE下没有问题，但在FireFox下无效。同事说不用考虑FireFox的兼容，客户使用的环境就是IE。我偏执的认为就算不在所有浏览器下通过，至少在我的FireFox下需要正常运行。</p>
<p>晚上花了一点时间稍微研究了一下跨浏览器开发JavaScript时要注意的问题，的确好多学问。我对JavaScript的认识还太浅，得花时间做一些功课了。</p>
<p>顺便推荐一本JavaScript书《<strong>JavaScript语言精粹</strong> 》，是大名鼎鼎的&ldquo;O&#8217;Reilly&rdquo;系列，我只看了试读的第一章节，斗胆推荐<br />
在<a href="http://dancewithnet.com">随网之舞</a>的<a href="http://dancewithnet.com/2009/04/02/javascript-the-good-parts/">《JavaScript语言精粹》 @ 随网之舞</a>有更详细的介绍。<br />
<img alt="" src="http://t.douban.com/lpic/s3651235.jpg" /></p>
<p><span id="more-12842"></span></p>
<p>传送门：<br />
<a href="http://www.china-pub.com/195292">购买</a>《JavaScript语言精粹 》via China-Pub<br />
<a href="http://www.douban.com/subject/3590768/">评论</a> 《JavaScript语言精粹》via 豆瓣<br />
<strong>样章阅读</strong>：<a href="http://images.china-pub.com/ebook195001-200000/195292/ch01.pdf">第一章. 精华</a> <a href="http://images.china-pub.com/ebook195001-200000/195292/ch10.pdf">第十章. 优美的特性</a></p>
<p>以下文章没有URL出处，作者 liqun，来源：<strike>www.comecode.com</strike>（连接已失效）</p>
<p style="text-align: center; background-color: rgb(153, 204, 0);">&times;&times;&times;&times;&times;&times;&times;&times;&times;&times;想回家的分割线&times;&times;&times;&times;&times;&times;&times;&times;&times;&times;</p>
<h2>1、向表中追加行</h2>
<p>定义table时使用tbody元素，以保证包括IE在内的所有浏览器可用<br />
例：定义如下一个空表<br />
&lt;table id=&rdquo;myTable&rdquo;&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;tbody id=&rdquo;myTableBody&rdquo;&gt;&lt;/tbody&gt;<br />
&lt;/table&gt;<br />
向这个表中增加行的正确做法是，把行增加到表体，而不是增加到表。<br />
Var cell = document.createElement(&ldquo;td&rdquo;).appendChild(document.createTextNode(&ldquo;foo&rdquo;));<br />
Var row = document.createElement(&ldquo;tr&rdquo;).appendChild(cell);<br />
Document.getElementById(&ldquo;myTableBody&rdquo;).appendChild(row);<br />
*IE中需要先创建行，再创建列，再创建内容</p>
<h2>2、设置元素的样式</h2>
<p>Var spanElement = document.getElementById(&ldquo;mySpan&rdquo;);<br />
//下面写法保证出IE外，所有浏览器可用<br />
spanElement.setAttribute(&ldquo;style&rdquo;,&rdquo;font-weight:bold;color:red;&rdquo;);<br />
//下面的写法保证IE可用<br />
spanElement.style.cssText=&rdquo;font-weight:bold;color:red;&rdquo;;</p>
<h2>3、设置元素的class属性</h2>
<p>Var element = document.getElementById(&ldquo;myElement&rdquo;);<br />
//下面的写法保证除IE外，所有浏览器可用<br />
Element.setAttribute(&ldquo;class&rdquo;,&rdquo;styleClass&rdquo;);<br />
//下面写法保证IE可用<br />
Element.setAttribute(&ldquo;className&rdquo;,&rdquo;styleClass&rdquo;);</p>
<h2>4、创建输入元素</h2>
<p>Var button = document.createElement(&ldquo;input&rdquo;);<br />
//单行文本框、复选框、单选框、单选钮、按钮需要此属性区别<br />
Button.setAttribute(&ldquo;type&rdquo;,&rdquo;button&rdquo;);<br />
Document.getElementById(&ldquo;formElement&rdquo;).appendChild(button);</p>
<h2>5、向输入元素增加事件处理程序</h2>
<p>Var formElement=document.getElementById(&ldquo;formElement&rdquo;);<br />
//所有浏览器可用<br />
formElement.onclick=function(){doFoo();};<br />
//除IE外，所有浏览器可用<br />
formElement.setAttribute(&ldquo;onclick&rdquo;,&rdquo;doFoo();&rdquo;);</p>
<h2>6、创建单选钮</h2>
<p>If(document.uniqueID){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //Internet Explorer<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Var radioButton=document.createElement(&ldquo;&lt;input type=&rsquo;radio&rsquo; name=&rsquo;radioButton&rsquo; value=&rsquo;checked&rsquo;&gt;&rdquo;);<br />
}else{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //Standards Compliant<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Var radioButton=document.createElement(&ldquo;input&rdquo;);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; radioButton.setAttribute(&ldquo;type&rdquo;,&rdquo;radio&rdquo;);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; radioButton.setAttribute(&ldquo;name&rdquo;,&rdquo;radioButton&rdquo;);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; radioButton.setAttribute(&ldquo;value&rdquo;,&rdquo;checked&rdquo;);<br />
}</p>
<h2>7、insertRow,insertCell,deleteRow</h2>
<p>在IE中，table.insertRow()如果没有指定参数，则在表格后面添加行，默认参数位-1；如果在Firefox中，则一定要加参数，如：insertRow(-1)。</p>
<div style="margin-top: 15px; background: none repeat scroll 0pt 0pt rgb(238, 238, 238);">
<p><strong>版权所有 © 2010 转载本站文章请注明：</strong> 转载自<a target="_blank" href="http://dddspace.com/">Log4D</a><br /><strong>原文链接:</strong> <a target="_blank" href="http://dddspace.com/2010/01/development-of-cross-browser-javascript-should-pay-attention-to-the-problem.html">http://dddspace.com/2010/01/development-of-cross-browser-javascript-should-pay-attention-to-the-problem.html</a><br />您可以随意地转载本站的文章，但是必须在醒目位置注明来源及本站链接，不可以将本站文章商业化使用，或者修改、转换或者以本作品为基础进行创作。<br />3a1ff193cee606bd1e2ea554a16353ee</p>
</div>
<div  class="related_post_title">相关文章</div><ul class="related_post"><li><a href="http://dddspace.com/2010/08/azaajaxchat-notes-implementation.html" title="AzaAjaxChat笔记-实现">AzaAjaxChat笔记-实现</a></li><li><a href="http://dddspace.com/2010/06/ie-xml-cache-problem.html" title="IE XML 缓存问题">IE XML 缓存问题</a></li><li><a href="http://dddspace.com/2010/05/swfobject.html" title="SWFObject 一款JavaScript的Flash检测与插入模块">SWFObject 一款JavaScript的Flash检测与插入模块</a></li><li><a href="http://dddspace.com/2009/09/jquery-to-achieve-the-school-network-image-circle-of-people-function-results.html" title="jQuery图片圈人功能在ASP.NET下的改进">jQuery图片圈人功能在ASP.NET下的改进</a></li><li><a href="http://dddspace.com/2009/05/discussion-on-javascript-disabled.html" title="关于禁用Javascript的讨论">关于禁用Javascript的讨论</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://dddspace.com/2010/01/development-of-cross-browser-javascript-should-pay-attention-to-the-problem.html/feed</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>jQuery图片圈人功能在ASP.NET下的改进</title>
		<link>http://dddspace.com/2009/09/jquery-to-achieve-the-school-network-image-circle-of-people-function-results.html</link>
		<comments>http://dddspace.com/2009/09/jquery-to-achieve-the-school-network-image-circle-of-people-function-results.html#comments</comments>
		<pubDate>Wed, 02 Sep 2009 01:11:43 +0000</pubDate>
		<dc:creator>alswl</dc:creator>
				<category><![CDATA[Microsoft .Net]]></category>
		<category><![CDATA[Web前端]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[人人]]></category>

		<guid isPermaLink="false">http://dddspace.com/?p=12622</guid>
		<description><![CDATA[项目中需要一个类似于校内圈人效果的js控件，找了一下基本没有直接能用的，只有一些未完成，我只能自己动手了。  基本框架参照这篇文章《JS实现校内网&#34;图片圈人&#34;功能效果》（强烈推荐这篇文章，这段代码写的很帅气）  我把代码摘录如下，不过还是建议大家去看原文的一些分析。

原始Code:

运行环境：  1.jQuery支持  2.DragResize类（czy1121作者写的一个js类，更多信息可以参照《Javascript Resize和Drag类,基于jQuery》）

<span class="readmore"><a href="http://dddspace.com/2009/09/jquery-to-achieve-the-school-network-image-circle-of-people-function-results.html" title="jQuery图片圈人功能在ASP.NET下的改进">阅读全文——共8222字</a></span>]]></description>
			<content:encoded><![CDATA[<p>项目中需要一个类似于校内圈人效果的js控件，找了一下基本没有直接能用的，只有一些未完成，我只能自己动手了。  基本框架参照这篇文章《<a href="http://www.cnblogs.com/czy1121/archive/2009/03/03/1402105.html">JS实现校内网&quot;图片圈人&quot;功能效果</a>》（强烈推荐这篇文章，这段代码写的很帅气）  我把代码摘录如下，不过还是建议大家去看原文的一些分析。</p>
<h2 style="text-align: center;">原始Code:</h2>
<p>运行环境：  1.jQuery支持  2.DragResize类（czy1121作者写的一个js类，更多信息可以参照《<a href="http://www.cnblogs.com/czy1121/archive/2009/02/26/1398971.html">Javascript Resize和Drag类,基于jQuery</a>》）</p>
<h3>样式：</h3>
<p><span id="more-12622"></span></p>
<pre lang="css">
#enclose-wrapper {
	position: relative;
	z-index: 0;
	border: 4px solid #DDD;
	background-color: #FFF;
}
#form-add-tag {
	margin-left: 8px;
	position: absolute;
	padding: 5px 3px;
	border: 1px solid #005EAC;
	float: left;
	display: inline;
	background-color: #FFF;
}
#select-area-box {
	position: absolute;
	border: 5px solid #D8DFEA;
	float: left;
}
#select-area {
	position: relative;
	padding: 0;
	border: 2px solid #005EAC;
	z-index: 15;
	cursor: move;
	background: url(spacer.gif) no-repeat -1px -1px;
}
#select-area-box span {
	position: absolute;
	border: 1px solid #005EAC;
	width: 8px;
	height: 8px;
	background-color: #FFF;
	font-size: 0;
	z-index: 18;
}
#select-area-box span.north-west-resize {
	cursor: nw-resize;
	left: 0;
	top: 0;
	margin-left: -1px;
	margin-top: -1px;
}
#select-area-box span.north-east-resize {
	cursor: ne-resize;
	right: 0;
	top: 0;
	margin-right: -1px;
	margin-top: -1px;
}
#select-area-box span.south-west-resize {
	cursor: sw-resize;
	left: 0;
	bottom: 0;
	margin-left: -1px;
	margin-bottom: -1px;
}
#select-area-box span.south-east-resize {
	cursor: se-resize;
	right: 0;
	bottom: 0;
	margin-right: -1px;
	margin-bottom: -1px;
}
#enclose-wrapper ul#tag-list {
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: 13px;
	float: left;
}
#enclose-wrapper ul#tag-list li {
	list-style: none;
	float: left;
}
#enclose-wrapper ul#tag-list li a {
	color: #F60;
}
</pre>
<h3>js实现代码：</h3>
<pre lang="javascript">
var photoTag = {
    show: function(left, top, width, height, show_resize_square) {
        $('#select-area-box').css({
            'left': left - 7,
            'top': top - 7
        })
        $('#select-area-box').width(width + 4).height(height + 4).show();
        $('#select-area').width(width).height(height);
        if (show_resize_square) $('#select-area-box span').show();
        else $('#select-area-box span').hide();
    },
    hide: function() {
        $('#select-area-box').hide();
    },
    add: function(tag_name, tag_value, left, top, width, height) {
        var json = {
            id: Math.floor(Math.random() * 10000)
        };
        var args = left + ',' + top + ',' + width + ',' + height;
        var li = '
<ul>
<li>';         li += '';         li += '(<a href="javascript:;" onclick="photoTag.remove(' + json.id + ',this.parentNode);" li="" args="" onmouseout="photoTag.hide();">删除</a>)';         li += '
<input type="hidden" name="photoField" value="' + tag_name + ':' + tag_value + ',x:' + left + ',y:' + top + ',width:' + width + ',height:' + height + '" />';         li += '</li>
</ul>

';
        $('#tag-list').append(li);
    },
    remove: function(id, li) {
        li.parentNode.removeChild(li);
    }
};
$(function() {
    var is_started = false;
    // 选区左上角,和高宽
    var info = {
        'left': 0,
        'top': 0,
        'width': 0,
        'height': 0
    };
    var origin = {
        x: $('#enclose-wrapper').offset().left + (parseInt($('#enclose-wrapper').css('border-left-width')) || 0),
        y: $('#enclose-wrapper').offset().top + (parseInt($('#enclose-wrapper').css('border-top-width')) || 0)
    };
    var dnr = new DragResize($('#select-area-box')[0], {
        minWidth: 20,
        minHeight: 20,
        bound: {
            left: 0,
            top: 0,
            right: 9999,
            bottom: 9999
        },
        callback: function(i) {
            // 7为左(上)边两个边框的宽度的和, 4为左右(上下)篮色边框宽度的和
            info = {
                'left': i.left + 7,
                'top': i.top + 7,
                'width': i.width - 4,
                'height': i.height - 4
            };
            $('#select-area').width(info.width).height(info.height);
            // 将添加标签的表单定位在选区的右边
            $('#form-add-tag').css({
                'left': i.left + i.width + 10,
                'top': i.top
            });
        }
    });
    // 拖动选区
    $('#select-area').mousedown(function(e) {
        dnr.drag(e);
    });
    // 调整选区大小
    $('#select-area-box span').mousedown(function(e) {
        dnr.resize(e, this.className.replace('-resize', ''));
    });
    // 在图片上点击一下,开始获取选区
    $('#photo-wrapper img').mousedown(function(e) {
        if (is_started) return;
        is_started = true;
        var left = e.pageX - origin.x - 50 - 7;
        var top = e.pageY - origin.y - 50 - 7;
        info = {
            'left': left + 7,
            'top': top + 7,
            'width': 100,
            'height': 100
        };
        photoTag.show(info.left, info.top, info.width, info.height, true);
        $('#form-add-tag').show().css({
            'left': left + 100 + 4 + 10,
            'top': top
        });
    });
    // 鼠标进入图片内时,显示选区
    $('#photo-wrapper img').bind('mouseenter',
    function(e) {
        if (!is_started) return;
        photoTag.show(info.left, info.top, info.width, info.height, true);
    });
    // 确定添加一个标签,或取消
    $('#btn-add-tag, #btn-cancel').click(function(e) {
        if (this.id == 'btn-cancel') {
            $('#form-add-tag, #select-area-box').hide();
            is_started = false;
            return false;
        }
        if (!$('#tag-name').val()) {
            alert('标签名不能为空！');
            return false;
        }
        // 添加标签
        photoTag.add($('#tag-name').val(), $('#tag-value').val(), info.left, info.top, info.width, info.height);
        // 隐藏选区和表单
        $('#form-add-tag, #select-area-box').hide();
        is_started = false;
    });
    photoTag.hide();
});</pre>
<h3>Html代码</h3>
<pre lang="html">
&lt;div id=&quot;enclose-wrapper&quot;&gt;
  &lt;div id=&quot;photo-wrapper&quot; style=&quot;margin:15px auto;text-align:center;&quot;&gt; &lt;img id=&quot;photo&quot; src=&quot;heroes_s3_peter.jpg&quot; /&gt; &lt;/div&gt;
  &lt;div&gt;
    &lt;ul id=&quot;tag-list&quot;&gt;
      &lt;li&gt;相片中：&lt;/li&gt;
      &lt;li&gt; &lt;span onmouseover=&quot;photoTag.show(0,0,85,66);&quot; onmouseout=&quot;photoTag.hide();&quot;&gt;aaa&lt;/span&gt; (&lt;a href=&quot;javascript:;&quot; onclick=&quot;photoTag.remove('342',this.parentNode);&quot; onmouseover=&quot;photoTag.show(0,0,85,66);&quot; onmouseout=&quot;photoTag.hide();&quot;&gt;删除&lt;/a&gt;) &lt;/li&gt;
    &lt;/ul&gt;
  &lt;/div&gt;
  &lt;div id=&quot;select-area-box&quot;&gt;
    &lt;div id=&quot;select-area&quot;&gt;&lt;/div&gt;
    &lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt; &lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt; &lt;/div&gt;
  &lt;div id=&quot;form-add-tag&quot; style=&quot;display:none;&quot;&gt; 输入标签：

    &lt;input id=&quot;tag-name&quot; name=&quot;tag-name&quot; type=&quot;text&quot;  /&gt;

    &lt;button id=&quot;btn-add-tag&quot; type=&quot;button&quot;&gt;确认&lt;/button&gt;
    &lt;button id=&quot;btn-cancel&quot; type=&quot;button&quot;&gt;取消&lt;/button&gt;
  &lt;/div&gt;
&lt;/div&gt;</pre>
<h2 style="text-align: center;">改进</h2>
<p>在Asp.NET下这段代码存在几个问题（毕竟这段代码应该只能算是Demo）：1.无法和服务器进行数据交互。2.无法在ASP.NET环境下获取相关id。3.只能提交到服务器一个&ldquo;标签&rdquo;，不足以完成需求。</p>
<h3>修改后js:</h3>
<pre lang="javascript">
var photoTag = {
    show: function(left, top, width, height, show_resize_square) {
        $('#select-area-box').css({
            'left': left - 7,
            'top': top - 7
        })
        $('#select-area-box').width(width + 4).height(height + 4).show();
        $('#select-area').width(width).height(height);
        if (show_resize_square) $('#select-area-box span').show();
        else $('#select-area-box span').hide();
    },
    hide: function() {
        $('#select-area-box').hide();
    },
    add: function(tag_name, tag_value, left, top, width, height) {
        var json = {
            id: Math.floor(Math.random() * 10000)
        };
        //$.getJSON('add_tag.php', {'name':tag_name,'left':left,'top':top,'width':width,'height':height}, function(json) {
        //reflesh tag list
        //    if(json.message) alert(json.message);
        //    if(json.error == 0) {
        var args = left + ',' + top + ',' + width + ',' + height;
        var li = '
<ul>
<li>';         li += '';         li += '(<a onmouseout="photoTag.hide();" args="" li="" onclick="photoTag.remove(' + json.id + ',this.parentNode);" href="javascript:;">删除</a>)';         li += '
<input type="hidden" value="' + tag_name + ':' + tag_value + ',x:' + left + ',y:' + top + ',width:' + width + ',height:' + height + '" name="photoField" />';         li += '</li>
</ul>

';
        $('#tag-list').append(li);
        //    }
        //});
    },
    remove: function(id, li) {
        //$.getJSON('remove_tag.php', {'tag_id':id}, function(json) {
        //reflesh tag list
        //    if(json.message) alert(json.message);
        //    if(json.error == 0)
        li.parentNode.removeChild(li);
        //});
    }
};
$(function() {
    var is_started = false;
    // 选区左上角,和高宽
    var info = {
        'left': 0,
        'top': 0,
        'width': 0,
        'height': 0
    };
    var origin = {
        x: $('#enclose-wrapper').offset().left + (parseInt($('#enclose-wrapper').css('border-left-width')) || 0),
        y: $('#enclose-wrapper').offset().top + (parseInt($('#enclose-wrapper').css('border-top-width')) || 0)
    };
    var dnr = new DragResize($('#select-area-box')[0], {
        minWidth: 20,
        minHeight: 20,
        bound: {
            left: 0,
            top: 0,
            right: 9999,
            bottom: 9999
        },
        callback: function(i) {
            // 7为左(上)边两个边框的宽度的和, 4为左右(上下)篮色边框宽度的和
            info = {
                'left': i.left + 7,
                'top': i.top + 7,
                'width': i.width - 4,
                'height': i.height - 4
            };
            $('#select-area').width(info.width).height(info.height);
            // 将添加标签的表单定位在选区的右边
            $('#form-add-tag').css({
                'left': i.left + i.width + 10,
                'top': i.top
            });
        }
    });
    // 拖动选区
    $('#select-area').mousedown(function(e) {
        dnr.drag(e);
    });
    // 调整选区大小
    $('#select-area-box span').mousedown(function(e) {
        dnr.resize(e, this.className.replace('-resize', ''));
    });
    // 在图片上点击一下,开始获取选区
    $('#photo-wrapper img').mousedown(function(e) {
        if (is_started) return;
        is_started = true;
        var left = e.pageX - origin.x - 50 - 7;
        var top = e.pageY - origin.y - 50 - 7;
        info = {
            'left': left + 7,
            'top': top + 7,
            'width': 100,
            'height': 100
        };
        photoTag.show(info.left, info.top, info.width, info.height, true);
        $('#form-add-tag').show().css({
            'left': left + 100 + 4 + 10,
            'top': top
        });
    });
    // 鼠标进入图片内时,显示选区
    $('#photo-wrapper img').bind('mouseenter',
    function(e) {
        if (!is_started) return;
        photoTag.show(info.left, info.top, info.width, info.height, true);
    });
    // 确定添加一个标签,或取消
    $('#btn-add-tag, #btn-cancel').click(function(e) {
        if (this.id == 'btn-cancel') {
            $('#form-add-tag, #select-area-box').hide();
            is_started = false;
            return false;
        }
        if (!$('#tag-name').val()) {
            alert('标签名不能为空！');
            return false;
        }
        // 添加标签
        photoTag.add($('#tag-name').val(), $('#tag-value').val(), info.left, info.top, info.width, info.height);
        // 隐藏选区和表单
        $('#form-add-tag, #select-area-box').hide();
        is_started = false;
    });
    photoTag.hide();
});</pre>
<h3>Html代码：</h3>
<pre lang="html">
&lt;div id=&quot;enclose-wrapper&quot;&gt;
  &lt;div id=&quot;photo-wrapper&quot;&gt;
    &lt;asp:Image ID=&quot;ImgPhoto&quot; Visible=&quot;false&quot; runat=&quot;server&quot; /&gt;
  &lt;/div&gt;
  &lt;div&gt;
    &lt;ul id=&quot;tag-list&quot;&gt;
    &lt;/ul&gt;
  &lt;/div&gt;
  &lt;div id=&quot;select-area-box&quot;&gt;
    &lt;div id=&quot;select-area&quot;&gt; &lt;/div&gt;
    &lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt; &lt;/div&gt;
  &lt;div id=&quot;form-add-tag&quot; style=&quot;display: none;&quot;&gt; 名称：
    &lt;input id=&quot;tag-name&quot; name=&quot;tag-name&quot; type=&quot;text&quot; /&gt;

    数值：
    &lt;input id=&quot;tag-value&quot; name=&quot;tag-value&quot; type=&quot;text&quot; /&gt;

    &lt;button id=&quot;btn-add-tag&quot; type=&quot;button&quot;&gt; 确认&lt;/button&gt;
    &lt;button id=&quot;btn-cancel&quot; type=&quot;button&quot;&gt; 取消&lt;/button&gt;
  &lt;/div&gt;
&lt;/div&gt;
</pre>
<p>这边的主要修改在于把框子的右边的内容增加为名称和数值，方便数据的识别。</p>
<h3>后台ASP.NET文件读取</h3>
<pre lang="c#">
string[] fields = Request.Params.GetValues(&quot;photoField&quot;);</pre>
<p>这里呢，由于上传的元素<code>name</code>相同，都是<code>photoField</code>，所以通过<code>Params.GetValues()</code>就可以取出<code>string</code>数组，这样就能获取所有数据了。数据格式是&quot;<code>ddl:小楠,x:98.88333129882812,y:146,width:100,height:100</code>&quot;这种形式，依靠&quot;,&quot;分割。</p>
<h3>相关下载</h3>
<p><a href="http://dddspace.com/wp-content/uploads/2009/09/DragResize.js">DragResize.js</a>  <a href="http://dddspace.com/wp-content/uploads/2009/09/template.js">template.js</a>  <a href="http://dddspace.com/wp-content/uploads/2009/09/css.css">css.css</a></p>
<div style="margin-top: 15px; background: none repeat scroll 0pt 0pt rgb(238, 238, 238);">
<p><strong>版权所有 © 2010 转载本站文章请注明：</strong> 转载自<a target="_blank" href="http://dddspace.com/">Log4D</a><br /><strong>原文链接:</strong> <a target="_blank" href="http://dddspace.com/2009/09/jquery-to-achieve-the-school-network-image-circle-of-people-function-results.html">http://dddspace.com/2009/09/jquery-to-achieve-the-school-network-image-circle-of-people-function-results.html</a><br />您可以随意地转载本站的文章，但是必须在醒目位置注明来源及本站链接，不可以将本站文章商业化使用，或者修改、转换或者以本作品为基础进行创作。<br />3a1ff193cee606bd1e2ea554a16353ee</p>
</div>
<div  class="related_post_title">相关文章</div><ul class="related_post"><li><a href="http://dddspace.com/2010/08/azaajaxchat-notes-implementation.html" title="AzaAjaxChat笔记-实现">AzaAjaxChat笔记-实现</a></li><li><a href="http://dddspace.com/2010/06/ie-xml-cache-problem.html" title="IE XML 缓存问题">IE XML 缓存问题</a></li><li><a href="http://dddspace.com/2010/05/swfobject.html" title="SWFObject 一款JavaScript的Flash检测与插入模块">SWFObject 一款JavaScript的Flash检测与插入模块</a></li><li><a href="http://dddspace.com/2010/01/development-of-cross-browser-javascript-should-pay-attention-to-the-problem.html" title="开发跨浏览器JavaScript时要注意的问题">开发跨浏览器JavaScript时要注意的问题</a></li><li><a href="http://dddspace.com/2009/10/natter-about-the-school.html" title="数落一下校内">数落一下校内</a></li><li><a href="http://dddspace.com/2009/09/gae-initial-contact-with-the-school-app.html" title="GAE+校内App初接触">GAE+校内App初接触</a></li><li><a href="http://dddspace.com/2009/09/when-google-app-engine-encounter-campus.html" title="当Google APP Engine遇上校内">当Google APP Engine遇上校内</a></li><li><a href="http://dddspace.com/2009/08/the-school-changed-its-name-to-all.html" title="校内更名为人人">校内更名为人人</a></li><li><a href="http://dddspace.com/2009/07/log-into-the-school-network-function.html" title="校内网日志导入功能">校内网日志导入功能</a></li><li><a href="http://dddspace.com/2009/06/xiaoneicaicai-gadget-v0-1.html" title="校内踩踩小工具v0.1">校内踩踩小工具v0.1</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://dddspace.com/2009/09/jquery-to-achieve-the-school-network-image-circle-of-people-function-results.html/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>AjaxControlToolkit中CalendarExtender样式修正</title>
		<link>http://dddspace.com/2009/08/ajaxcontroltoolkit-amendment-in-calendarextender-styles.html</link>
		<comments>http://dddspace.com/2009/08/ajaxcontroltoolkit-amendment-in-calendarextender-styles.html#comments</comments>
		<pubDate>Fri, 28 Aug 2009 02:46:03 +0000</pubDate>
		<dc:creator>alswl</dc:creator>
				<category><![CDATA[Microsoft .Net]]></category>
		<category><![CDATA[Web前端]]></category>
		<category><![CDATA[AjaxControlToolkit]]></category>
		<category><![CDATA[CSS]]></category>

		<guid isPermaLink="false">http://dddspace.com/?p=12615</guid>
		<description><![CDATA[在The Official Microsoft ASP.NET Site上有一个很强大的控件AJAX Control Toolkit，其功能非常完整，几乎涵盖了表现层方面各种应用，使用也很方便，有中文详细支持，能给程序员很大帮助。

我现在使用的其中一款控件叫做CalendarExtender，其实是一个DatePicker（日期选择器），这个控件可以直接在Input控件上添加“扩展程序”，就完成了所有工作。



<span class="readmore"><a href="http://dddspace.com/2009/08/ajaxcontroltoolkit-amendment-in-calendarextender-styles.html" title="AjaxControlToolkit中CalendarExtender样式修正">阅读全文——共1083字</a></span>]]></description>
			<content:encoded><![CDATA[<p>在<a href="http://www.asp.net">The Official Microsoft ASP.NET Site</a>上有一个很强大的控件<a href="http://ajaxcontroltoolkit.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=27326">AJAX Control Toolkit</a>，其功能非常完整，几乎涵盖了表现层方面各种应用，使用也很方便，有中文详细支持，能给程序员很大帮助。</p>
<p>我现在使用的其中一款控件叫做CalendarExtender，其实是一个DatePicker（日期选择器），这个控件可以直接在Input控件上添加“扩展程序”，就完成了所有工作。</p>
<p><a href="http://dddspace.com/wp-content/uploads/2009/09/0e9aa6590cdc.jpg" class="highslide-image" onclick="return hs.expand(this);"><img style="border: 0pt none; display: block; margin-left: auto; margin-right: auto;" title="偏移" src="http://dddspace.com/wp-content/uploads/2009/09/0e9aa6590cdc.jpg" border="0" alt="偏移" width="232" height="226" /></a></p>
<p><span id="more-12615"></span>让我意外的是，这个控件在我的页面上工作时候样式似乎有些不正常。</p>
<p>页面漂移了！我仔细检查了FireBug，发现下面的样式中的padding影响了其td。(页面可不是我设计的&#8220;`)</p>
<p><a href="http://dddspace.com/wp-content/uploads/2009/09/Firebug.jpg" class="highslide-image" onclick="return hs.expand(this);"><img style="border: 0pt none; display: block; margin-left: auto; margin-right: auto;" title="Firebug" src="http://dddspace.com/wp-content/uploads/2009/09/Firebug.jpg" border="0" alt="Firebug" width="549" height="197" /></a></p>
<p>如果修改CSS，就带来了大量的页面需要修改class/id，所以我只能修正CalendarExtender。（话说人家jQuery在这儿丝毫不受影响，全部元素都覆盖了样式，AJAX Control Toolkit在样式上还是不如jQuery）</p>
<p>我在CalendarExtender外面包了一层div，再覆盖CalendarExtender的td属性。</p>
<p>Html代码：</p>
<pre><span style="color: #0000ff">&lt;</span><span style="color: #800000">div</span><span style="color: #0000ff">&gt;</span>
<span style="color: #0000ff">&lt;</span><span style="color: #c71585">asp</span>:<span style="color: #800000">TextBox</span> <span style="color: #ff0000">ID</span>=<span style="color: #0000ff">"TbBirthday"</span> <span style="color: #ff0000">runat</span>=<span style="color: #0000ff">"server"</span><span style="color: #0000ff">&gt;</span><span style="color: #0000ff">&lt;/</span><span style="color: #c71585">asp</span>:<span style="color: #800000">TextBox</span><span style="color: #0000ff">&gt;</span>
<span style="color: #0000ff">&lt;</span><span style="color: #800000">cc1</span>:<span style="color: #ff0000">CalendarExtender</span> <span style="color: #ff0000">ID</span>=<span style="color: #0000ff">"TbBirthday_CldEx"</span> <span style="color: #ff0000">runat</span>=<span style="color: #0000ff">"server"</span> <span style="color: #ff0000">Enabled</span>=<span style="color: #0000ff">"True"</span> <span style="color: #ff0000">TargetControlID</span>=<span style="color: #0000ff">"TbBirthday"</span> <span style="color: #ff0000">FirstDayOfWeek</span>=<span style="color: #0000ff">"Monday"</span> <span style="color: #ff0000">Format</span>=<span style="color: #0000ff">"yyyy-MM-dd"</span> <span style="color: #ff0000">PopupPosition</span>=<span style="color: #0000ff">"BottomRight"</span><span style="color: #0000ff">&gt;</span>
<span style="color: #0000ff">&lt;/</span><span style="color: #800000">cc1</span>:CalendarExtender<span style="color: #0000ff">&gt;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">div</span><span style="color: #0000ff">&gt;</span></pre>
<p>CSS代码：</p>
<pre><span style="color: #008000">/*bugs for CalendarExtends*/</span>
.<span style="color: #800000">content</span> .<span style="color: #800000">table</span> .<span style="color: #800000">calendar</span> <span style="color: #800000">td</span> {<span style="color: #008000">/*.calender td 前的类是我网页中的上层元素*/</span>
<span style="color: #ff0000">margin</span>: <span style="color: #0000ff">0px</span>;
<span style="color: #ff0000">padding</span>: <span style="color: #0000ff">0px</span>;
}</pre>
<p>这样一来，就可以解决这个问题了。</p>
<p><a href="http://dddspace.com/wp-content/uploads/2009/09/e249092a13bc.jpg" class="highslide-image" onclick="return hs.expand(this);"><img style="border: 0pt none; display: block; margin-left: auto; margin-right: auto;" title="修正" src="http://dddspace.com/wp-content/uploads/2009/09/e249092a13bc.jpg" border="0" alt="修正" width="243" height="223" /></a></p>
<p>最后，附送一个汉化控件的技巧：其实下载后，已经有语言包在下载包里面，之所以没有启用中文，是因为没有打开ScriptManager的全球化控制，把ScriptManager的EnableScriptGlobalization改为true即可。</p>
<p>Asp.NET代码：</p>
<pre><span style="color: #0000ff">&lt;</span><span style="color: #c71585">asp</span>:<span style="color: #800000">ScriptManager</span> <span style="color: #ff0000">ID</span>=<span style="color: #0000ff">"ScriptManager1"</span> <span style="color: #ff0000">runat</span>=<span style="color: #0000ff">"server"</span> <span style="color: #ff0000">EnableScriptGlobalization</span>=<span style="color: #0000ff">"True"</span><span style="color: #0000ff">&gt;</span>
<span style="color: #0000ff">&lt;/</span><span style="color: #c71585">asp</span>:<span style="color: #800000">ScriptManager</span><span style="color: #0000ff">&gt;</span></pre>
<div style="margin-top: 15px; background: none repeat scroll 0pt 0pt rgb(238, 238, 238);">
<p><strong>版权所有 © 2010 转载本站文章请注明：</strong> 转载自<a target="_blank" href="http://dddspace.com/">Log4D</a><br /><strong>原文链接:</strong> <a target="_blank" href="http://dddspace.com/2009/08/ajaxcontroltoolkit-amendment-in-calendarextender-styles.html">http://dddspace.com/2009/08/ajaxcontroltoolkit-amendment-in-calendarextender-styles.html</a><br />您可以随意地转载本站的文章，但是必须在醒目位置注明来源及本站链接，不可以将本站文章商业化使用，或者修改、转换或者以本作品为基础进行创作。<br />3a1ff193cee606bd1e2ea554a16353ee</p>
</div>
<div  class="related_post_title">相关文章</div><ul class="related_post"><li><a href="http://dddspace.com/2010/03/speaking-of-flower-shop.html" title="flower shop 汉化">flower shop 汉化</a></li><li><a href="http://dddspace.com/2009/11/thishouse-housing-sales-system.html" title="ThisHouse房屋销售系统">ThisHouse房屋销售系统</a></li><li><a href="http://dddspace.com/2009/10/ajaxcontroltoolkit-controls-introduced-reproduced.html" title="AjaxControlToolKit控件介绍[转载]">AjaxControlToolKit控件介绍[转载]</a></li><li><a href="http://dddspace.com/2009/09/inove-changes-under-the-heading-style.html" title="iNove下的heading样式修改">iNove下的heading样式修改</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://dddspace.com/2009/08/ajaxcontroltoolkit-amendment-in-calendarextender-styles.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>关于禁用Javascript的讨论</title>
		<link>http://dddspace.com/2009/05/discussion-on-javascript-disabled.html</link>
		<comments>http://dddspace.com/2009/05/discussion-on-javascript-disabled.html#comments</comments>
		<pubDate>Sat, 23 May 2009 15:59:08 +0000</pubDate>
		<dc:creator>alswl</dc:creator>
				<category><![CDATA[Web前端]]></category>
		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://dddspace.com/?p=12271</guid>
		<description><![CDATA[做用户验证时候，在为客户端和服务器端各自的验证发愁，这时候我想到一个问题，现在这么多网站依赖javascript来表现页面，那么如果禁用了会怎么样呢。

Google了一下，找到一篇06年的帖子。当客户端把Javascript禁用后，猛击这里打开

最让我吃惊的是这篇神奇的帖子从06年被讨论到09年，从挖坟N次，好狠&#8230;

<span class="readmore"><a href="http://dddspace.com/2009/05/discussion-on-javascript-disabled.html" title="关于禁用Javascript的讨论">阅读全文——共1680字</a></span>]]></description>
			<content:encoded><![CDATA[<p>做用户验证时候，在为客户端和服务器端各自的验证发愁，这时候我想到一个问题，现在这么多网站依赖javascript来表现页面，那么如果禁用了会怎么样呢。</p>
<p>Google了一下，找到一篇06年的帖子。当客户端把Javascript禁用后，<a href="http://bbs.blueidea.com/archiver/tid-2694115.html">猛击这里打开</a></p>
<p><span style="color: #ff0000;">最让我吃惊的是这篇神奇的帖子从06年被讨论到09年，从挖坟N次，好狠&#8230;</span></p>
<p>摘录部分语句如下：</p>
<p>所以我会做一个纯HTML的首页，告诉人家不要屏蔽javascript，不要屏蔽ActiveX，不要&#8230;&#8230;&#8230;&#8230;:( :(</p>
<p>看看Gmail怎么做的。我觉得那就是答案（的一种）。</p>
<p>禁止JS上在功能的使用上致少不该受到影响，但是国内的许多网站不去考虑这个。　只是盲目的跟风，　什么AJAX、什么体验，很多都是建立在JS上的，一旦使用的浏览器不支持JS，就什么都没了。google做得不错，可是国内一些所谓的门户网站，像sina\sohu\163\yahoo或多或少都存在一定的问题，这些站的首页或许没什么问题，但看看其它的页面就知道。　既然浏览器提供了禁用JS、禁用COOKIE的功能，那我们就不得不考虑禁用后对我们的影响。<span id="more-12271"></span></p>
<p>CJJ 老是走极端。<br />
什么网站能满足１００％的用户需要？<br />
GOOGLE搜索，只能说第一页的排序满足８０％的人的需要。<br />
所以，做一个检查，低于１０％的人没有打开JS，就不用专为他们搞一个版本了。<br />
什么用户都想抓住，往往什么用户都抓不住。<br />
当你的消耗和价值不相等的时候，选择放弃，是最好的解决方案。<br />
很多事，不是人们不想做。而是在商业环境下，不允许这样去做。<br />
当然，追求完美是我们的目标，如果能在条件许可的情况下，可以做这样的工作。<br />
但现在网站，往往都没有这样的许可。</p>
<p>我支持蓝色。</p>
<p>我认为是这样的：</p>
<p>一个运营网站为主导思想的人（比如蓝色）不应该赞同这个问题，关闭JS 和 Cookies的人实在太少，缺了这个东西，说明他们不在乎用户体验，他在网上寸步难行。<br />
而一个以技术为主导思想的人（比如技术总监），就必须考虑一下这个问题。</p>
<p>而最关键的问题是： [color=Blue]他是你的目标客户吗？[/color]</p>
<p>从技术角度讲，解决这个问题不难。现在争论的焦点是：是否有必要去做。<br />
答案很简单： 如果你的人力成本允许，并且你在乎这部分变态的人，就去改善把～</p>
<p>Google这么做就是考虑到这个因素。总体来说这个问题不是一个问题，而是一个普遍问题：</p>
<p>如果用户关闭JS怎么办？<br />
如果用户不支持Cookies怎么办？<br />
如果用户没有安装flashpleyer怎么办？<br />
如果用户使用的是 IE5怎么办？<br />
如果用户是 800*600分辨率怎么办？<br />
如果用户是 FF或者OP或者其他浏览器怎么办？<br />
如果用户视力障碍怎么办？<br />
如果用户没有耳机或音箱怎么办？</p>
<p>哦&#8230;&#8230;你去死把～～天哪～</p>
<p>呵呵，现在有多少网站用的em呢，我想大多是px吧，那些中老年人只有戴老花镜上网咯。。。。</p>
<p>说用户体验性，我想还是要针对人群来说，大家都在这里谈论什么js，css。可是你的最终用户会谈论什么呢？处于这个领域，懂这些技术，你会去说，会去讨论，可用户不会关心这些吧，一些普通的网民谁会自己主动去把js禁用掉，他们就不知道这些。也许他们关注的只是我要找的信息好不好找，你这页面我看舒服不舒服，你这里速度是不是很快&#8230;&#8230;<br />
如果像某些同志那样的要考虑没有css，js，flash等等该怎么去做网页，那可以假想一下做出来的东西会是什么样子的，我说不好，也没尝试过。<br />
现在的这技术，那技术是为了什么而出现的呢，某位同学比喻的很好：某天砍掉自己的脚，会问我怎么不会走路了呢&#8230;&#8230;.<br />
话又说回来，做web开发本来就是个敏捷性要求很高的开发，我们把过多的精力放在那些边边角角的问题上，会得不偿失。<br />
针对你的用户去处理问题&#8230;.</p>
<p>=====注意时间！！！====<br />
ujam 发表于 2009-2-18 17:38<br />
js很重要，现在js正在越来越受重视中，开源库jquery,prototype这些都是随着时代的变化而产生的，打个比方js版星际争霸，都比软件版的小,占用空间小，跨平台，所以我觉得以后的软件会网页化。<br />
网页化还可以减少成本
<div style="margin-top: 15px; background: none repeat scroll 0pt 0pt rgb(238, 238, 238);">
<p><strong>版权所有 © 2010 转载本站文章请注明：</strong> 转载自<a target="_blank" href="http://dddspace.com/">Log4D</a><br /><strong>原文链接:</strong> <a target="_blank" href="http://dddspace.com/2009/05/discussion-on-javascript-disabled.html">http://dddspace.com/2009/05/discussion-on-javascript-disabled.html</a><br />您可以随意地转载本站的文章，但是必须在醒目位置注明来源及本站链接，不可以将本站文章商业化使用，或者修改、转换或者以本作品为基础进行创作。<br />3a1ff193cee606bd1e2ea554a16353ee</p>
</div>
<div  class="related_post_title">相关文章</div><ul class="related_post"><li><a href="http://dddspace.com/2010/08/azaajaxchat-notes-implementation.html" title="AzaAjaxChat笔记-实现">AzaAjaxChat笔记-实现</a></li><li><a href="http://dddspace.com/2010/06/ie-xml-cache-problem.html" title="IE XML 缓存问题">IE XML 缓存问题</a></li><li><a href="http://dddspace.com/2010/05/swfobject.html" title="SWFObject 一款JavaScript的Flash检测与插入模块">SWFObject 一款JavaScript的Flash检测与插入模块</a></li><li><a href="http://dddspace.com/2010/01/development-of-cross-browser-javascript-should-pay-attention-to-the-problem.html" title="开发跨浏览器JavaScript时要注意的问题">开发跨浏览器JavaScript时要注意的问题</a></li><li><a href="http://dddspace.com/2009/09/jquery-to-achieve-the-school-network-image-circle-of-people-function-results.html" title="jQuery图片圈人功能在ASP.NET下的改进">jQuery图片圈人功能在ASP.NET下的改进</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://dddspace.com/2009/05/discussion-on-javascript-disabled.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>继续推荐书：Ajax实战</title>
		<link>http://dddspace.com/2009/03/continue-to-recommend-the-book-ajax-in-action.html</link>
		<comments>http://dddspace.com/2009/03/continue-to-recommend-the-book-ajax-in-action.html#comments</comments>
		<pubDate>Mon, 02 Mar 2009 20:23:00 +0000</pubDate>
		<dc:creator>alswl</dc:creator>
				<category><![CDATA[Web前端]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[Book]]></category>

		<guid isPermaLink="false">http://alswl.yo2.cn/articles/%e7%bb%a7%e7%bb%ad%e6%8e%a8%e8%8d%90%e4%b9%a6%ef%bc%9aajax%e5%ae%9e%e6%88%98.html</guid>
		<description><![CDATA[本来关于Ajax的学习可以告一段落，原因是看的一本国内的教材有点错误，耗了好多时间才改对，让我对Ajax的热情稍微降低

不过很&#8220;可惜&#8221;的是，今天在China-pub上看到一本五星评价的书，《Ajax实战》，抱着试一试的态度，居然在图书馆找到了这本书。

略微一看，是ajaxcn.org做的翻译，还是不错的，而且是Ajax领域的开山之作，读完前言，又激发我读下去的乐趣。

<span class="readmore"><a href="http://dddspace.com/2009/03/continue-to-recommend-the-book-ajax-in-action.html" title="继续推荐书：Ajax实战">阅读全文——共819字</a></span>]]></description>
			<content:encoded><![CDATA[<div class="cnt">
<p>本来关于Ajax的学习可以告一段落，原因是看的一本国内的教材有点错误，耗了好多时间才改对，让我对Ajax的热情稍微降低</p>
<p>不过很&ldquo;可惜&rdquo;的是，今天在China-pub上看到一本五星评价的书，《Ajax实战》，抱着试一试的态度，居然在图书馆找到了这本书。</p>
<p>略微一看，是ajaxcn.org做的翻译，还是不错的，而且是Ajax领域的开山之作，读完前言，又激发我读下去的乐趣。</p>
<p>在此感谢矿大的图书馆，总是留下最后一本书给我借，谢谢&#8220;&#8220;</p>
<p>链接地址：</p>
<p><span class="Apple-style-span" style="line-height:"></p>
<h1 class="black15c">Ajax实战:实例详解 <a href="http://www.china-pub.com/STATIC07/0902/zh_spfv09_090202.asp" target="_blank">全场购物满58元免配送费！</a></h1>
<div style="font-size:"><a href="http://www.china-pub.com/ureader/product.asp?bookid=209252" target="_blank"><img src="http://images.china-pub.com/images/icon_dzs.gif" align="absmiddle" style="border-style:"></a>　<img src="http://images.china-pub.com/computers/common/images/free.gif" width="18" height="16" style="border-style:"><a href="http://www.china-pub.com/computers/common/mianfeisd.asp?id=209252" target="_blank">进入免费试读</a></div>
<hr />
</p>
<div class="margin13-0" style="width:">
<div style="width:"><span class="green12b" style="display:">精彩评论</span></p>
<ul class="right_cxxx" style="width:">
<li><span class="brown" style="font-size:">amazom &nbsp;&nbsp; 评论：</span> <a href="http://www.china-pub.com/member/bookpinglun/viewpinglun.asp?id=209252&amp;gid=1" target="_blank" class="noblue12">来自Ajax中国的读者的书评： 本书是Ajax实战系列中的一本，正如前言所说，《Ajax in Practice》是&ldquo;第二代&rdquo;的Ajax图书，相比上一代如《A..</a></li>
<li><span class="brown" style="font-size:">uf &nbsp;&nbsp; 评论：</span> <a href="http://www.china-pub.com/member/bookpinglun/viewpinglun.asp?id=209252&amp;gid=1" target="_blank" class="noblue12">知识点的讲述简明扼要，论述清楚 ，没有浪费太多篇幅，但是问题描述的很清楚。适合具备一定基础的人学习 ，能巩固和更新知识结构，有大..</a></li>
</ul>
</div>
<div class="info-book-left" style="width:">
<table width="100%">
<tbody>
<tr>
<td width="210" style="word-break:">
<div class="info-book-left" style="float:">
<div><a href="%E5%AE%9E%E4%BE%8B%E8%AF%A6%E8%A7%A3&quot;,9)" class="gray12a"><img src="http://images.china-pub.com/ebook205001-210000/209252/zcover.jpg" border="alt=Ajax实战:实例详解" style="border-style:"></a></div>
<div style="margin-bottom:"><a href="%E5%AE%9E%E4%BE%8B%E8%AF%A6%E8%A7%A3&quot;,9)" class="gray12a"><img src="http://images.china-pub.com/computers/common/images/zoom.gif" border="style=border-style:">点击看大图</a></div>
</p></div>
</td>
<td style="word-break:">
<div class="info-book-left" style="float:">市场价 ： ￥59.00 <br />
            <a href="http://www.china-pub.com/temporary/faq/20041122FAQ/default.asp?yoururlname=youhui_1.htm" target="_blank" class="noblack12">普通会员 ：</a> <span class="red" style="color:">￥47.20 </span><br />
            <a href="http://www.china-pub.com/temporary/faq/20041122FAQ/default.asp?yoururlname=youhui_1.htm" target="_blank" class="noblack12">1-3星会员：</a> <span class="red" style="color:">￥46.02 </span><br />
            <a href="http://www.china-pub.com/temporary/faq/20041122FAQ/default.asp?yoururlname=youhui_1.htm" target="_blank" class="noblack12">4-5星会员：</a> <span class="red" style="color:">￥44.25<span class="gray12italic" style="font-size:">(75折)</span> </span><br />
            校园优惠价 ：<span class="red" style="color:"> ￥44.25<span class="gray12italic" style="font-size:">(75折)</span> </span>&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://www.china-pub.com/STATIC07/0702/zh_songdali1_070209.asp" title="校园优惠价" target="_blank">(马上了解)</a> <br />
            <a href="void(window.open(">加入教材预订单</a> <span class="nhorange"><sup>new</sup></span>&nbsp;&nbsp;&nbsp;<a href="http://www.china-pub.com/STATIC07/0706/zh_jiaocai_070614.asp" target="_blank">（50天教材预留服务）</a></p>
<div> </div>
<div class="clear5px" style="clear:"> </div>
<p></p>
<div><span title="更多数量请在购物车中修改">选择购买数量(更多数量请在购物车中修改)</span></p>
<div class="push" style="background-image:">
<div class="push_right" style="background-image:"> </div>
<div class="push_left" style="background-image:"> </div>
<div style="background-image:"><a href="putmycar(209252,$(" class="noblack12">购买</a></div>
</p></div>
<div class="push" style="background-image:">
<div class="push_right" style="background-image:"> </div>
<div class="push_left" style="background-image:"> </div>
<div style="background-image:"><a href="tgwinpop(209252," title="Ajax实战:实例详解" class="noblack12"> 团购</a></div>
<p><span id="more-3092"></span>
            </div>
<div class="push" style="background-image:">
<div class="push_right" style="background-image:"> </div>
<div class="push_left" style="background-image:"> </div>
<div style="background-image:"><a href="http://www.china-pub.com/209252&amp;ref=ps#" class="noblack12"> 收藏</a></div>
</p></div>
</p></div>
<div style="clear:"><a href="http://www.china-pub.com/STATIC07/0902/zh_spfv09_090202.asp" target="_blank">全场购物满58元免配送费！</a></div>
</p></div>
</td>
</tr>
</tbody>
</table>
</div>
<div class="clear5px" style="clear:"> </div>
<div class="line_brown" style="border-bottom-width:"><span class="green16" style="font-size:">基本信息</span></div>
<div class="info-book-left" style="float:">
<table width="100%" border="cellpadding=" cellspacing="style=margin-top:">
<tbody>
<tr>
<td style="height:">【评　　价】 <img src="http://images.china-pub.com/computers/common/image/art1.gif" width="13" height="12" style="border-style:"> <img src="http://images.china-pub.com/computers/common/image/art1.gif" width="13" height="12" style="border-style:"> <img src="http://images.china-pub.com/computers/common/image/art1.gif" width="13" height="12" style="border-style:"> <img src="http://images.china-pub.com/computers/common/image/art1.gif" width="13" height="12" style="border-style:"> <img src="http://images.china-pub.com/computers/common/image/art1.gif" width="13" height="12" style="border-style:"> (共 <a href="http://www.china-pub.com/member/bookpinglun/viewpinglun.asp?id=209252" target="_blank">11</a> 条) <a href="cp();">参与评论</a></td>
</tr>
<tr>
<td style="word-break:">【原 书 名】 <a href="http://www.amazon.com/Ajax-Practice-Dave-Crane/dp/1932394990/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1224207549&amp;sr=1-1" target="_blank">Ajax in Practice</a></td>
</tr>
<tr>
<td style="word-break:">【原出版社】 <a href="http://www.china-pub.com/s/?key1=Manning+Publications" target="_blank">Manning Publications</a></td>
</tr>
<tr>
<td style="word-break:">【作　　者】<a href="http://www.china-pub.com/s/?key1=(%d3%a2)Dave+Crane%3b(%c3%c0)Bear+Bibeault%3bJord+Sonneveld" target="_blank">(英)Dave Crane;(美)Bear Bibeault;Jord Sonneveld <span>[同作者作品]</span></a> <a href="%E5%AE%9E%E4%BE%8B%E8%AF%A6%E8%A7%A3&quot;,5)">[作译者介绍]</a></td>
</tr>
<tr>
<td style="word-break:">【译　　者】 <a href="http://www.china-pub.com/s/?key1=%ba%d8%ca%a6%bf%a1%3b%d0%ed%b3%ac%3b%bd%f0%eb%a2&amp;zyandor=and" target="_blank">贺师俊;许超;金擘[同译者作品]</a></td>
</tr>
<tr>
<td style="word-break:">【丛 书 名】 <a href="http://www.china-pub.com/s/?key1=%cd%bc%c1%e9%b3%cc%d0%f2%c9%e8%bc%c6%b4%d4%ca%e9" target="_blank">图灵程序设计丛书</a></td>
</tr>
<tr>
<td style="word-break:">【出 版 社】 人民邮电出版社 &nbsp;&nbsp;&nbsp;&nbsp; 【书 号】 9787115187659</td>
</tr>
<tr>
<td style="word-break:">【出版日期】 2008 年11月 【开 本】 16开 【页 码】 382 &nbsp;&nbsp;&nbsp;&nbsp; 【版 次】1-1</td>
</tr>
</tbody>
</table>
<table border="cellpadding=" cellspacing="style=margin-top:">
<tbody>
<tr>
<td style="width:">【所属分类】</td>
<td style="word-break:"><a class="blue13" href="http://www.china-pub.com/browse/?typeid=59&amp;ordertype=1">计算机</a> &gt; <a class="blue13" href="http://www.china-pub.com/browse/?typeid=59-05&amp;ordertype=1">软件与程序设计</a> &gt; <span class="red14" style="font-size:">AJAX</span></td>
</tr>
</tbody>
</table>
</div>
</div>
<p></span></p>
</div>
<div style="margin-top: 15px; background: none repeat scroll 0pt 0pt rgb(238, 238, 238);">
<p><strong>版权所有 © 2010 转载本站文章请注明：</strong> 转载自<a target="_blank" href="http://dddspace.com/">Log4D</a><br /><strong>原文链接:</strong> <a target="_blank" href="http://dddspace.com/2009/03/continue-to-recommend-the-book-ajax-in-action.html">http://dddspace.com/2009/03/continue-to-recommend-the-book-ajax-in-action.html</a><br />您可以随意地转载本站的文章，但是必须在醒目位置注明来源及本站链接，不可以将本站文章商业化使用，或者修改、转换或者以本作品为基础进行创作。<br />3a1ff193cee606bd1e2ea554a16353ee</p>
</div>
<div  class="related_post_title">相关文章</div><ul class="related_post"><li><a href="http://dddspace.com/2010/08/cook-book.html" title="新手入厨好书-《从零开始学下厨》">新手入厨好书-《从零开始学下厨》</a></li><li><a href="http://dddspace.com/2010/04/recently-read-books.html" title="最近在看的书">最近在看的书</a></li><li><a href="http://dddspace.com/2009/11/getting-started-with-java-books-java-jdk6-study-notes.html" title="Java入门好书《Java JDK6学习笔记》">Java入门好书《Java JDK6学习笔记》</a></li><li><a href="http://dddspace.com/2009/05/struts2-in-the-use-of-ajax.html" title="Struts2中Ajax的使用">Struts2中Ajax的使用</a></li><li><a href="http://dddspace.com/2009/03/look-at-ext-js.html" title="关注一下Ext JS">关注一下Ext JS</a></li><li><a href="http://dddspace.com/2009/02/ajax-started-use-dom-to-resolve-xml.html" title="Ajax起步：使用DOM解析XML">Ajax起步：使用DOM解析XML</a></li><li><a href="http://dddspace.com/2009/02/ajax-drag-and-drop-fun-the-way-chrome-test-the-code-under-the-highlighted-text-editor-search.html" title="Ajax 好玩的拖拽（顺便测试chrome下文字编辑的代码高亮）">Ajax 好玩的拖拽（顺便测试chrome下文字编辑的代码高亮）</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://dddspace.com/2009/03/continue-to-recommend-the-book-ajax-in-action.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
