<?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/"
	xmlns:series="http://unfoldingneurons.com/"
	>

<channel>
	<title>玄猫的窝-韩国峰的博客 &#187; Web客户端技术</title>
	<atom:link href="http://www.hanguofeng.cn/category/web-client/feed" rel="self" type="application/rss+xml" />
	<link>http://www.hanguofeng.cn</link>
	<description>韩国峰的博客,关注Web技术与电子商务。</description>
	<lastBuildDate>Sat, 04 Sep 2010 14:39:38 +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>parseInt bug in firefox 3.5.2</title>
		<link>http://www.hanguofeng.cn/archives/web-client/parseint-bug-in-firefox-3-5-2?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=parseint-bug-in-firefox-3-5-2</link>
		<comments>http://www.hanguofeng.cn/archives/web-client/parseint-bug-in-firefox-3-5-2#comments</comments>
		<pubDate>Sun, 06 Sep 2009 02:25:37 +0000</pubDate>
		<dc:creator>hanguofeng</dc:creator>
				<category><![CDATA[Web客户端技术]]></category>

		<guid isPermaLink="false">http://www.hanguofeng.cn/?p=160</guid>
		<description><![CDATA[来，先让我们看下面的JS代码： for&#40;var i=0;i &#38;lt; 1000;i++&#41; &#123; var result = parseInt&#40;-15.02&#41;; document.write&#40; result &#41;; document.write&#40; '' &#41;; &#125; 你觉得他会输出什么？一串的-15？恩，也许在其他浏览器中是这样的，但是据我的测试，在Firefox 3.5.2里面，只有开始的几个是-15，其他都是-16，而且-15的个数不一定，有时是3个，有时又会出现4个。 那么，怎么解决呢，将其改为： parseInt&#40;-15.02,10&#41;; 即可 English version for foreign friends: Ok,let&#8217;s get to the codes below: for&#40;var i=0;i &#38;lt; 1000;i++&#41; &#123; var result = parseInt&#40;-15.02&#41;; document.write&#40; result &#41;; document.write&#40; '' &#41;; &#125; What do you think it will [...]]]></description>
			<content:encoded><![CDATA[<p><!--doubanclaim514a3bae359e95af--><br />
来，先让我们看下面的JS代码：</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">  <span style="color: #000066; font-weight: bold;">for</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">var</span> i<span style="color: #339933;">=</span><span style="color: #CC0000;">0</span><span style="color: #339933;">;</span>i <span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span> <span style="color: #CC0000;">1000</span><span style="color: #339933;">;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span>
  <span style="color: #009900;">&#123;</span>
        <span style="color: #003366; font-weight: bold;">var</span> result <span style="color: #339933;">=</span> parseInt<span style="color: #009900;">&#40;</span><span style="color: #339933;">-</span><span style="color: #CC0000;">15.02</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	document.<span style="color: #000066; font-weight: bold;">write</span><span style="color: #009900;">&#40;</span> result <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	document.<span style="color: #000066; font-weight: bold;">write</span><span style="color: #009900;">&#40;</span> <span style="color: #3366CC;">''</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span></pre></div></div>

<p>你觉得他会输出什么？一串的-15？恩，也许在其他浏览器中是这样的，但是据我的测试，在Firefox 3.5.2里面，只有开始的几个是-15，其他都是-16，而且-15的个数不一定，有时是3个，有时又会出现4个。</p>
<p>那么，怎么解决呢，将其改为：</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">parseInt<span style="color: #009900;">&#40;</span><span style="color: #339933;">-</span><span style="color: #CC0000;">15.02</span><span style="color: #339933;">,</span><span style="color: #CC0000;">10</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>即可<br />
<span id="more-160"></span></p>
<p><strong><br />
English version for foreign friends:</strong></p>
<p>Ok,let&#8217;s get to the codes below:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">  <span style="color: #000066; font-weight: bold;">for</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">var</span> i<span style="color: #339933;">=</span><span style="color: #CC0000;">0</span><span style="color: #339933;">;</span>i <span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span> <span style="color: #CC0000;">1000</span><span style="color: #339933;">;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span>
  <span style="color: #009900;">&#123;</span>
        <span style="color: #003366; font-weight: bold;">var</span> result <span style="color: #339933;">=</span> parseInt<span style="color: #009900;">&#40;</span><span style="color: #339933;">-</span><span style="color: #CC0000;">15.02</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	document.<span style="color: #000066; font-weight: bold;">write</span><span style="color: #009900;">&#40;</span> result <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	document.<span style="color: #000066; font-weight: bold;">write</span><span style="color: #009900;">&#40;</span> <span style="color: #3366CC;">''</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span></pre></div></div>

<p>What do you think it will output?Rows of -15?It might be in other browsers except Firefox 3.5.2 according to my test.In Firefox 3.5.2,only the begins are -15,others are -16,and the number of -15 is varying at different time,sometime 3 and sometimes maybe 4.</p>
<p>Then,codes following will works:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">parseInt<span style="color: #009900;">&#40;</span><span style="color: #339933;">-</span><span style="color: #CC0000;">15.02</span><span style="color: #339933;">,</span><span style="color: #CC0000;">10</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<h3  class="related_post_title">随机内容</h3><ul class="related_post"><li><a href="http://www.hanguofeng.cn/archives/code-life/lazyload-girl-on-marriage" title="LazyLoad Girl On Marriage">LazyLoad Girl On Marriage</a></li><li><a href="http://www.hanguofeng.cn/archives/uncategorized/2009-spring-festival" title="祝大家己丑年新春大吉，万事如意">祝大家己丑年新春大吉，万事如意</a></li><li><a href="http://www.hanguofeng.cn/archives/life/cold-winter-in-beijing" title="北京的冬天，有点冷">北京的冬天，有点冷</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.hanguofeng.cn/archives/web-client/parseint-bug-in-firefox-3-5-2/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>DreamWeaver CS4新特性之JavaScript</title>
		<link>http://www.hanguofeng.cn/archives/web-client/dreamweaver-cs4-new-feture-javascript?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=dreamweaver-cs4-new-feture-javascript</link>
		<comments>http://www.hanguofeng.cn/archives/web-client/dreamweaver-cs4-new-feture-javascript#comments</comments>
		<pubDate>Fri, 26 Sep 2008 13:53:24 +0000</pubDate>
		<dc:creator>hanguofeng</dc:creator>
				<category><![CDATA[Web客户端技术]]></category>
		<category><![CDATA[Dreamweaver]]></category>
		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://www.hanguofeng.cn/?p=56</guid>
		<description><![CDATA[据业界新闻称： 2008年9月24日，北京-今天，Adobe 公司（Nasdaq：ADBE）宣布推出业界的里程碑产品&#8211;Adobe® Creative Suite® 4产品家族。该产品能够应用于所有创意工作流，是业内领先的设计和开发软件。通过工作流的根本性突破，消除了设计师和开发工作者之间的壁垒。新的Creative Suite 4产品线包含数百个创新功能，全面推进了印刷、网络、移动、交互、影音视频制作的创意过程。该产品把整个产品线的Flash技术提升至整合力与表现力的新高水平，是Adobe迄今为止最大规模的软件版本，内容包括Adobe Creative Suite 4 Design editions、Creative Suite 4 Web editions、Creative Suite 4 Production Premium、Adobe Master Collection和13个基础产品、14项整合技术以及7种服务。 于是在官方下载了DreamWeaver CS4的PreRelease版来测试，解压和安装没有什么太多要说的，只是感觉比早先的DreamWeaver CS3的安装速度要快了不少，安装完毕，发现界面与之前相比有了一定的改变，如图（上图为DreamWeaver CS3，下图为DreamWeaver CS4）： 除了界面上的改变，该版本作为一个重要的里程碑版，还有许多更新，诸如： 针对 Ajax 和 JavaScript 框架的代码提示 Adobe InContext Editing HTML 数据集 Subversion® 集成 CSS 最佳做法 等，更多可以查看官方的fetures页。 这里我主要给您介绍一下关于JavaScript的部分新特性。 一、JavaScript代码外链。 我们知道，出于种种目的考虑，我们一般不在页面直接撰写JavaScript代码，而是将其放在外部的js文件中，这样做的好处，除了便于管理整个站点的JavaScript之外，还有助于多多借助客户端对js文件的缓存，减少很少改变的js文件的网络传输流量的浪费。 另外，出于多人协作和便于管理、便于敏捷变化和代码分层等原因，我们应该尽可能的做到结构-表现-行为的分离，在平常的代码编写中，你可能大量使用了诸如 &#60;a onclick=&#34;alert_me('this is a link')&#34; href=&#34;#&#34;&#62;Click to [...]]]></description>
			<content:encoded><![CDATA[<p>据<a href="http://soft.ccw.com.cn/news/htm2008/20080924_508101.shtml">业界新闻</a>称：</p>
<p>2008年9月24日，北京-今天，Adobe 公司（Nasdaq：ADBE）宣布推出业界的里程碑产品&#8211;Adobe® Creative Suite® 4产品家族。该产品能够应用于所有创意工作流，是业内领先的设计和开发软件。通过工作流的根本性突破，消除了设计师和开发工作者之间的壁垒。新的Creative Suite 4产品线包含数百个创新功能，全面推进了印刷、网络、移动、交互、影音视频制作的创意过程。该产品把整个产品线的Flash技术提升至整合力与表现力的新高水平，是Adobe迄今为止最大规模的软件版本，内容包括Adobe Creative Suite 4 Design editions、Creative Suite 4 Web editions、Creative Suite 4 Production Premium、Adobe Master Collection和13个基础产品、14项整合技术以及7种服务。<span id="more-56"></span></p>
<p>于是在官方<a title="Dreamweaver CS4 官方下载" href="http://trials.adobe.com/pub/esd/labs/dreamweaver/dreamweaver_b1_052708.exe" target="_blank">下载</a>了DreamWeaver CS4的PreRelease版来测试，解压和安装没有什么太多要说的，只是感觉比早先的DreamWeaver CS3的安装速度要快了不少，安装完毕，发现界面与之前相比有了一定的改变，如图（上图为DreamWeaver CS3，下图为DreamWeaver CS4）：</p>
<p><a href="http://picasaweb.google.com/lh/photo/DGkfXhn5IolucrAZ6ljbVA"><img src="http://lh6.ggpht.com/hanguofeng/SNzgbAptaRI/AAAAAAAAAU0/T_v7AFL5FP4/s400/dreamweaver_cs_3.png.png" alt="" /></a></p>
<p><a href="http://picasaweb.google.com/lh/photo/JHLD_lQGhnLAq0Btrdavcw"><img src="http://lh3.ggpht.com/hanguofeng/SNzghG8Kh3I/AAAAAAAAAU8/pVMq827aOik/s400/dreamweaver_cs_4.png.png" alt="" /></a></p>
<p>除了界面上的改变，该版本作为一个重要的里程碑版，还有许多更新，诸如：</p>
<ul>
<li>针对 Ajax 和 JavaScript 框架的代码提示</li>
<li>Adobe InContext Editing</li>
<li>HTML 数据集</li>
<li>Subversion® 集成</li>
<li>CSS 最佳做法</li>
</ul>
<p>等，更多可以查看<a href="http://www.adobe.com/cn/products/dreamweaver/features/?view=topnew">官方的fetures页</a>。</p>
<p>这里我主要给您介绍一下关于JavaScript的部分新特性。</p>
<h2>一、JavaScript代码外链。</h2>
<p>我们知道，出于种种目的考虑，我们一般不在页面直接撰写JavaScript代码，而是将其放在外部的js文件中，这样做的好处，除了便于管理整个站点的JavaScript之外，还有助于多多借助客户端对js文件的缓存，减少很少改变的js文件的网络传输流量的浪费。</p>
<p>另外，出于多人协作和便于管理、便于敏捷变化和代码分层等原因，我们应该尽可能的做到结构-表现-行为的分离，在平常的代码编写中，你可能大量使用了诸如</p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&lt;a onclick=&quot;alert_me('this is a link')&quot; href=&quot;#&quot;&gt;Click to alert me&lt;/a&gt;</pre></div></div>

<p>这样的代码，然而，这样做却是将行为耦合到了基本的代码结构中，我们提倡以添加事件的方式来将其完全分离到JavaScript代码中，这个操作也可以由DreamWeaver CS4来完成。</p>
<p>在DreamWeaver CS4中，则为我们提供了此功能，这个功能你可以在【Commands】-&gt;【Externalize JavaScript】中找到。</p>
<p>为了测试这两项特性，我们撰写了如下的代码：</p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&lt; !DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;
&lt;head&gt;
&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
&lt;title&gt;Untitled Document&lt;/title&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
function alert_me(msg)
{
	alert(msg);
}
&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;a href=&quot;#&quot; onclick=&quot;alert_me('this is a link')&quot;&gt;Click to alert me&lt;/a&gt;
&lt;/body&gt;
&lt;/html&gt;</pre></div></div>

<p>你可以看到，在这段代码中，不仅在页面中出现了JavaScript函数，而且还将行为直接绑定在了HTML标签中，这时使用【Commands】-&gt;【Externalize JavaScript】来打开DreamWeaver CS4为我们提供的工具，你可以看到，有两个选项，他们分别对应了只将页面中的JavaScript代码块分离为外部文件和与此同时分离HTML代码中的JavaScript，如图：</p>
<p><a href="http://picasaweb.google.com/lh/photo/0ttpouJtbysyof37lfJUSg"><img src="http://lh3.ggpht.com/hanguofeng/SNzgh1hz0xI/AAAAAAAAAVE/le9mjR3_KcY/s288/externalize_javascript_1.png.png" alt="" /></a></p>
<p><a href="http://picasaweb.google.com/lh/photo/A9rn-Npk-wqHFrQZ66fusw"><img src="http://lh6.ggpht.com/hanguofeng/SNzgic3wj2I/AAAAAAAAAVM/fW2zyn7K-jE/s288/externalize_javascript_2.png.png" alt="" /></a></p>
<p>我们选择&#8221;Externalize JavaScript and attach unobtrusively&#8221;，即同时完成代码块和标签中代码的分离，命令执行完成后，页面的代码如下：</p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&lt; !DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;
&lt;head&gt;
&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
&lt;title&gt;Untitled Document&lt;/title&gt;
&nbsp;
&lt;script src=&quot;SpryAssets/SpryDOMUtils.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
&lt;script src=&quot;Untitled-15.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;a href=&quot;#&quot; id=&quot;a1&quot;&gt;Click to alert me&lt;/a&gt;
&lt;/body&gt;
&lt;/html&gt;</pre></div></div>

<p>这样，就自动化的完成了相应的工作。</p>
<h2>二、JavaScript代码提示。</h2>
<p>一直以来，开发JavaScript没有特别顺手的IDE，Aptana算是一款基于Ecplise的JavaScript开发工具，提供了代码高亮和代码提示功能，如今，DreamWeaver CS4也提供了此功能，当我们构建JavaScript内置对象时，它已经可以进行代码提示了，如图：</p>
<p><a href="http://picasaweb.google.com/lh/photo/EbckQwZjWZDEV1zlqaOs0A"><img src="http://lh5.ggpht.com/hanguofeng/SNzgpt5u5eI/AAAAAAAAAVc/IdzLfJapSw4/s400/javascript_hint.png.png" /></a></p>
<p>除此以外，DreamWeaver CS4 还提供了对代码错误的提示，当代码出现错误，将在窗口顶端有一个黄色的提示条，同时在代码左侧行号处标识，如图：</p>
<p><a href="http://picasaweb.google.com/lh/photo/uoc6Nss9RQiSUzqt3B3CHg"><img src="http://lh4.ggpht.com/hanguofeng/SNzgoEW33PI/AAAAAAAAAVU/hk71obsOxTo/s400/javascript_error.png.png" alt="" /></a></p>
<h3>三、对第三方JavaScript库的支持。</h3>
<p>上面提到的Aptana同时提供对多种JavaScript的第三方类库，如Prototype、jQuery、YUI、ExtJS等的支持，DreamWeaver CS4也同样提供了，我们首先引入一个Prototype库，然后通过输入new Ajax.，试图构建一个Ajax的应用，此时DreamWeave CS4给出了Ajax类成员方法的代码提示，如图：</p>
<p><a href="http://picasaweb.google.com/lh/photo/GtwxCpXTtFKGFxxsz2XylQ"><img src="http://lh3.ggpht.com/hanguofeng/SNzgrX-hHVI/AAAAAAAAAVk/rrL5oLmxd3Q/s400/javascript_lib.png.png" /></a></p>
<h3  class="related_post_title">相关内容</h3><ul class="related_post"><li><a href="http://www.hanguofeng.cn/archives/web-server/php-serialize-json" title="PHP串行化与JSON">PHP串行化与JSON</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.hanguofeng.cn/archives/web-client/dreamweaver-cs4-new-feture-javascript/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>[译文]Google AJAX Language API对象参考</title>
		<link>http://www.hanguofeng.cn/archives/web-client/google-ajax-language-api-class-reference?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=google-ajax-language-api-class-reference</link>
		<comments>http://www.hanguofeng.cn/archives/web-client/google-ajax-language-api-class-reference#comments</comments>
		<pubDate>Sat, 22 Mar 2008 12:25:51 +0000</pubDate>
		<dc:creator>hanguofeng</dc:creator>
				<category><![CDATA[Web客户端技术]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[翻译]]></category>

		<guid isPermaLink="false">http://www.hanguofeng.cn/archives/web-client/google-ajax-language-api-class-reference</guid>
		<description><![CDATA[原文：http://code.google.com/apis/ajaxlanguage/documentation/reference.html 译言链接：http://www.yeeyan.com/articles/view/hanguofeng/5896 对象参考 全局方法 方法 返回类型 描述 google.language.translate(text, srcLang, destLang, callback) 无 全局方法，返回对支持的给定文本的目标语言翻译匹配文本。结果支持通过指定的callback函数进行异步调用。 text &#8211; 要翻译的文本。 srcLang &#8211; 以语言代码形式表现的源语言。参考Language 枚举。如果改惨啊数是一个空字符串，则系统将尝试自动识别源语言。 destLang &#8211; 以语言代码形式表现的目标语言。参考Language 枚举。 callback &#8211; 接收结果的回调函数。 google.language.detect(text, callback) 无 全局方法，返回描述给定语言文本的语言代码。结果支持通过指定的callback函数进行异步调用。 text &#8211; 要翻译的文本 callback -接收结果的回调函数。 结果对象 翻译结果 &#60;result&#62; error?在载入feed时是否出现错误 codeHTTP风格的错误代码 message便与人阅读的错误描述文本 translation翻译后的文本 检测结果 &#60;result&#62; error?在载入feed时是否出现错误 codeAn HTTP风格的错误代码 message便与人阅读的错误描述文本 language给定语言的语言代码。参考Language 枚举 isReliable一个布尔型变量来描述给定文本是否是可靠的 confidence一个基于0-1.0之间的数值，用来描述对给定文本的可信级别 Language枚举 google [...]]]></description>
			<content:encoded><![CDATA[<p>原文：<a href="http://code.google.com/apis/ajaxlanguage/documentation/reference.html">http://code.google.com/apis/ajaxlanguage/documentation/reference.html</a></p>
<p>译言链接：<a href="http://www.yeeyan.com/articles/view/hanguofeng/5896">http://www.yeeyan.com/articles/view/hanguofeng/5896</a><span id="more-12"></span></p>
<h1>对象参考</h1>
<h2>全局方法</h2>
<table border="1" width="500" cellPadding="0" cellSpacing="0">
<tr>
<td width="200" vAlign="top">
<p align="center"><strong>方法</strong></p>
</td>
<td width="50" vAlign="top">
<p align="center"><strong>返回类型</strong></p>
</td>
<td width="250" vAlign="top">
<p align="center"><strong>描述</strong></p>
</td>
</tr>
<tr>
<td width="187" vAlign="top">google.language.translate(text, srcLang, destLang, callback)</td>
<td width="77" vAlign="top">无</td>
<td width="289" vAlign="top">全局方法，返回对支持的给定文本的目标语言翻译匹配文本。结果支持通过指定的callback函数进行异步调用。</p>
<ul>
<li><strong>text</strong> &#8211; 要翻译的文本。</li>
<li><strong>srcLang</strong> &#8211; 以语言代码形式表现的源语言。参考Language 枚举。如果改惨啊数是一个空字符串，则系统将尝试自动识别源语言。</li>
<li><strong>destLang</strong> &#8211; 以语言代码形式表现的目标语言。参考Language 枚举。</li>
<li><strong>callback</strong> &#8211; 接收结果的回调函数。</li>
</ul>
</td>
</tr>
<tr>
<td width="187" vAlign="top">google.language.detect(text, callback)</td>
<td width="77" vAlign="top">无</td>
<td width="289" vAlign="top">全局方法，返回描述给定语言文本的语言代码。结果支持通过指定的callback函数进行异步调用。</p>
<ul>
<li><strong>text</strong> &#8211; 要翻译的文本</li>
<li><strong>callback</strong> -接收结果的回调函数。</li>
</ul>
</td>
</tr>
</table>
<h2>结果对象</h2>
<h3>翻译结果</h3>
<ul class="json">
<li>&lt;result&gt;
<ul>
<li>error?在载入feed时是否出现错误
<ul>
<li>code<a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html">HTTP风格的错误代码</a></li>
<li>message便与人阅读的错误描述文本</li>
</ul>
</li>
<li>translation翻译后的文本</li>
</ul>
</li>
</ul>
<h3>检测结果</h3>
<ul class="json">
<li>&lt;result&gt;
<ul>
<li>error?在载入feed时是否出现错误
<ul>
<li>codeAn <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html">HTTP风格的错误代码</a></li>
<li>message便与人阅读的错误描述文本</li>
</ul>
</li>
<li>language给定语言的语言代码。参考Language 枚举</li>
<li>isReliable一个布尔型变量来描述给定文本是否是可靠的</li>
<li>confidence一个基于0-1.0之间的数值，用来描述对给定文本的可信级别</li>
</ul>
</li>
</ul>
<h3>Language枚举</h3>
<p>google language的language枚举提供了对于名称常量到语言代码的映射，用来描述srcLang和destLang参数。以下是用在Google Translate的相同代码：</p>
<pre class="prettyprint">
var google.language.Languages = {

  'ENGLISH' : 'en',

  'CHINESE' : 'zh',

  'CHINESE_SIMPLIFIED' : 'zh-CN',

  'CHINESE_TRADITIONAL' : 'zh-TW',

  'ARABIC' : 'ar',

  'FRENCH' : 'fr',

  'GERMAN' : 'de',

  'ITALIAN' : 'it',

  'JAPANESE' : 'ja',

  'KOREAN' : 'ko',

  'PORTUGUESE' : 'pt-PT',

  'RUSSIAN' : 'ru',

  'SPANISH' : 'es',

  'DUTCH': 'nl',

  'UNKNOWN' : ''

};</pre>
<h3  class="related_post_title">相关内容</h3><ul class="related_post"><li><a href="http://www.hanguofeng.cn/archives/web-client/google-ajax-language-api-developers-guide" title="[译文]Google AJAX Language API开发者参考">[译文]Google AJAX Language API开发者参考</a></li><li><a href="http://www.hanguofeng.cn/archives/security/sql-injection-attack" title="SQL注入攻击-来自微软安全博客的建议">SQL注入攻击-来自微软安全博客的建议</a></li><li><a href="http://www.hanguofeng.cn/archives/web-server/google-language-for-wordpress" title="Google Language for WordPress">Google Language for WordPress</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.hanguofeng.cn/archives/web-client/google-ajax-language-api-class-reference/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[译文]Google AJAX Language API开发者参考</title>
		<link>http://www.hanguofeng.cn/archives/web-client/google-ajax-language-api-developers-guide?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=google-ajax-language-api-developers-guide</link>
		<comments>http://www.hanguofeng.cn/archives/web-client/google-ajax-language-api-developers-guide#comments</comments>
		<pubDate>Sat, 22 Mar 2008 12:13:15 +0000</pubDate>
		<dc:creator>hanguofeng</dc:creator>
				<category><![CDATA[Web客户端技术]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[翻译]]></category>

		<guid isPermaLink="false">http://www.hanguofeng.cn/archives/web-client/google-ajax-language-api-developers-guide</guid>
		<description><![CDATA[原文：http://code.google.com/apis/ajaxlanguage/documentation/ 译言链接：http://www.yeeyan.com/articles/view/hanguofeng/5895 开发者参考 使用AJAX Language API，你可以仅使用JavaScript来完成对某个网页上某个区域的语言进行翻译和检测的工作。 API是新开发的，因此相对于一个完美的文档来说，可能有一些bug和微小的不足。我们会修补这些漏洞，因此请谅解、你可以加入AJAX APIs开发者论坛来给我们反馈和讨论这个API。 面向读者 本文档是面向对JavaScript编程和面向对象编程概念有所了解的人准备的。在互联网上有很多JavaScript教程。 介绍 在Google Ajax Language API上的&#8221;Hello,World&#8221;程序 开始学习本API的最简单方法是来看一个简单的例子，一下案例将检测给定语言，并且将其翻译为英文。 &#60;html&#62;   &#60;head&#62;   &#60;script type="text/javascript" src="http://www.google.com/jsapi"&#62;&#60;/script&#62;   &#60;script type="text/javascript"&#62; google.load("language", "1"); function initialize() {   var text = document.getElementById("text").innerHTML;   google.language.detect(text, function(result) {   if (!result.error &#38;&#38; result.language) {   google.language.translate(text, result.language, "en",   function(result) {   var [...]]]></description>
			<content:encoded><![CDATA[<p>原文：<a href="http://code.google.com/apis/ajaxlanguage/documentation/">http://code.google.com/apis/ajaxlanguage/documentation/</a></p>
<p>译言链接：<a href="http://www.yeeyan.com/articles/view/hanguofeng/5895">http://www.yeeyan.com/articles/view/hanguofeng/5895</a><br />
<span id="more-11"></span></p>
<h1>开发者参考</h1>
<p>使用AJAX Language API，你可以仅使用JavaScript来完成对某个网页上某个区域的语言进行翻译和检测的工作。</p>
<p>API是新开发的，因此相对于一个完美的文档来说，可能有一些bug和微小的不足。我们会修补这些漏洞，因此请谅解、你可以加入<a href="http://groups.google.com/group/Google-AJAX-Search-API">AJAX APIs开发者论坛</a>来给我们反馈和讨论这个API。</p>
<h2>面向读者</h2>
<p>本文档是面向对JavaScript编程和面向对象编程概念有所了解的人准备的。在互联网上有很多<a href="http://www.google.com/search?q=javascript+tutorials">JavaScript教程</a>。</p>
<h2>介绍</h2>
<h3>在Google Ajax Language API上的&#8221;Hello,World&#8221;程序</h3>
<p>开始学习本API的最简单方法是来看一个简单的例子，一下案例将检测给定语言，并且将其翻译为英文。</p>
<pre class="prettyprint">
&lt;html&gt;

  &lt;head&gt;

    &lt;script type="text/javascript" src="http://www.google.com/jsapi"&gt;&lt;/script&gt;

    &lt;script type="text/javascript"&gt;    google.load("language", "1");

function initialize() {

      var text = document.getElementById("text").innerHTML;

      google.language.detect(text, function(result) {

        if (!result.error &amp;&amp; result.language) {

   google.language.translate(text, result.language, "en",

                             function(result) {

     var translated = document.getElementById("translation");

     if (result.translation) {

       translated.innerHTML = result.translation;

            }

          });

        }

      });

    }

    google.setOnLoadCallback(initialize);

&lt;/script&gt;

  &lt;/head&gt;

  &lt;body&gt;

    &lt;div id="text"&gt;你好，很高興見到你。&lt;/div&gt;

    &lt;div id="translation"&gt;&lt;/div&gt;

  &lt;/body&gt;

&lt;/html&gt;</pre>
<p>你可以<a href="http://code.google.com/apis/ajaxlanguage/documentation/helloworld.html">在这里查看该案例</a>，并且随意修改和运行它。</p>
<h3>在你的网页中包含Ajax Language API</h3>
<p>为了在你的网页中加入AJAX Language API，你需要利用<a href="http://code.google.com/apis/ajax/documentation/">Google AJAX API Loader</a>。该公有加载类允许你加载你所需要的所有AJAX API，包括这里的language API。你需要同时包含Google AJAX APIs的script标签并且调用google.load(&#8220;language&#8221;,&#8221;1&#8243;);。</p>
<pre class="prettyprint">&lt;script type="text/javascript" src="http://www.google.com/jsapi" mce_src="http://www.google.com/jsapi"&gt;&lt;/script&gt;

&lt;script type="text/javascript"&gt;

  google.load("language", "1");

&lt;/script&gt;</pre>
<p>第一个script标签加载了google.load函数，这个函数允许你加载特定的 Google API。google.load(&#8220;language&#8221;,&#8221;1&#8243;)加载了Language API的第一版。当前，AJAX Language API的版本为1，但是不久后新版本将可以使用。参考下面的<a href="http://code.google.com/apis/ajaxlanguage/documentation/#Versioning">版本讨论</a>来获得更多信息。</p>
<h3>API 更新</h3>
<p>google.load函数的第二个参数实际上是你所使用的AJAX Language API的版本。当前，AJAX Language API的版本为1，但是不久后新版本将可以使用。</p>
<p>如果以后我们对API进行重要更新，我们将改变版本号，并且在<a href="http://code.google.com/">Google Code</a>和<a href="http://googleajaxsearchapi.blogspot.com/">AJAX APIS 讨论</a>中发布通知。当该事件发生后，我们预期会在至少一个月的时间内继续支持所有版本来使你有足够的时间来迁移你的代码。</p>
<p>AJAX Language API团队对于最近日较的Bug修复和平台优化进行定期更新。这些Bug修复应当仅提高表现和修复Bug，但是我们有可能不小心破坏某些API用户、请使用<a href="http://googleajaxsearchapi.blogspot.com/">AJAX APIs 讨论组</a>来报告这样的问题。</p>
<h2>实例</h2>
<h3>语言翻译</h3>
<p>本案例展示了一个简单的对一个JavaScript字符串变量进行翻译的过程。</p>
<pre class="prettyprint">
google.language.translate("Hello world", "en", "es", function(result) {

  if (!result.error) {

    var container = document.getElementById("translation");

    container.innerHTML = result.translation;

  }

});</pre>
<p><a href="http://code.google.com/apis/ajaxlanguage/documentation/translate.html">查看案例（translate.html）</a></p>
<h3>语言检测</h3>
<p>这个案例展示了对于一个JavaScript字符串的语言检测。将返回语言代码。</p>
<pre class="prettyprint">
var text = "¿Dónde está el baño?";

google.language.detect(text, function(result) {

  if (!result.error) {

    var language = 'unknown';

    for (l in google.language.Languages) {

      if (google.language.Languages[l] == result.language) {

        language = l;

        break;

      }

    }

    var container = document.getElementById("detection");

    container.innerHTML = text + " is: <strong>" + language + "</strong>";

  }

});</pre>
<p><a href="http://code.google.com/apis/ajaxlanguage/documentation/detection.html">查看案例 (detection.html)</a></p>
<h3>翻译时源检测</h3>
<p>如下的案例类似于基本的翻译案例，但是它展示了如何在不知道源语言时对文本进行翻译。通过传入一个空字符串来表示未知的源语言，系统将在一次调用中自动检测和翻译。</p>
<pre class="prettyprint">
google.language.translate("Hello world", "", "es", function(result) {

  if (!result.error) {

    var container = document.getElementById("translation");

    container.innerHTML = result.translation;

  }

});</pre>
<h2>更多案例</h2>
<p>这里有进行交互作用的两个附加案例。第一个案例对预输入的文本字符串进行语言检测，同时也允许输入其他的文本。它同时也显示信任和可靠因数（confidence and reliability factors-译者注）。</p>
<p><a href="http://www.google.com/uds/samples/language/detect.html">查看案例(detect.html)</a></p>
<p>第二个附加案例进行翻译。同时他也允许与上述类似的交互作用。</p>
<p><a href="http://www.google.com/uds/samples/language/translate.html">查看案例(translate.html)</a></p>
<h2>API细节</h2>
<h3>支持的语言</h3>
<p>Google AJAX Language API现在支持下列语言。该技术正在不断的提高，同时我们的团队也在努力的扩展这个列表，因此请经常回来看看。你也可以访问<a href="http://translate.google.com/">Google Translate</a>来查看最近更新的列表。</p>
<ul>
<li>Arabic （阿拉伯语）</li>
<li>Chinese (Simplified and Traditional) （中文简体）</li>
<li>Dutch （荷兰语）</li>
<li>English （英语）</li>
<li>French （法语）</li>
<li>German （德语）</li>
<li>Greek （希腊语）</li>
<li>Italian （意大利语）</li>
<li>Japanese （日语）</li>
<li>Korean （韩语）</li>
<li>Portuguese （葡萄牙语）</li>
<li>Russian （俄语）</li>
<li>Spanish（西班牙语）</li>
</ul>
<h3>支持的语言翻译对</h3>
<p>Google AJAX Language API现在支持下列语言翻译对。该技术正在不断的提高，同时我们的团队也在努力的扩展这个列表，因此请经常回来看看。你也可以访问<a href="http://translate.google.com/">Google Translate</a>来查看最近更新的列表。</p>
<ul>
<li>Arabic to English （阿拉伯语到英语）</li>
<li>Chinese to English （中文到英语）</li>
<li>Chinese (Simplified to Traditional) （简体中文到繁体中文）</li>
<li>Chinese (Traditional to Simplified) （繁体中文到简体中文）</li>
<li>Dutch to English （荷兰语到英语）</li>
<li>English to Arabic （英语到阿拉伯语）</li>
<li>English to Chinese (Simplified) （英语到简体中文）</li>
<li>English to Chinese (Traditional) （英语到繁体中文）</li>
<li>English to Dutch （英语到荷兰语）</li>
<li>English to French （英语到法语）</li>
<li>English to German （英语到德语）</li>
<li>English to Greek （英语到希腊语）</li>
<li>English to Italian （英语到意大利语）</li>
<li>English to Japanese （英语到日语）</li>
<li>English to Korean （英语到韩语）</li>
<li>English to Portuguese （英语到葡萄牙语）</li>
<li>English to Russian （英语到俄语）</li>
<li>English to Spanish （英语到西班牙语）</li>
<li>French to English （法语到英语）</li>
<li>French to German （法语到德语）</li>
<li>German to English （德语到英语）</li>
<li>German to French （德语到法语）</li>
<li>Greek to English （希腊语到英语）</li>
<li>Italian to English （意大利语到英语）</li>
<li>Japanese to English （日语到英语）</li>
<li>Korean to English （韩语到英语）</li>
<li>Portuguese to English （葡萄牙语到英语）</li>
<li>Russian to English （俄语到英语）</li>
<li>Spanish to English（西班牙语到英语）</li>
</ul>
<h2>问题解决</h2>
<p>如果在你的代码中遇到了问题：</p>
<ul>
<li>检查代码。请牢记JavaScript是对大小写敏感的语言。</li>
<li>使用JavaScript调试器、在Firefox中，你可以使用JavaScript控制台或者FireBug扩展。在IE中，你可以使用Microsoft Script Debugger。</li>
<li>在AJAX APIs讨论组中搜索。如果你找不到回答你问题的帖子，那么可以在讨论组中发布你的问题，并且包含指向你出问题的页面的链接。</li>
</ul>
<h3  class="related_post_title">相关内容</h3><ul class="related_post"><li><a href="http://www.hanguofeng.cn/archives/web-client/google-ajax-language-api-class-reference" title="[译文]Google AJAX Language API对象参考">[译文]Google AJAX Language API对象参考</a></li><li><a href="http://www.hanguofeng.cn/archives/security/sql-injection-attack" title="SQL注入攻击-来自微软安全博客的建议">SQL注入攻击-来自微软安全博客的建议</a></li><li><a href="http://www.hanguofeng.cn/archives/web-server/google-language-for-wordpress" title="Google Language for WordPress">Google Language for WordPress</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.hanguofeng.cn/archives/web-client/google-ajax-language-api-developers-guide/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->