<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>“Allen.M成长的路”的评论</title>
	<atom:link href="http://blog.allenm.me/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.allenm.me</link>
	<description>冷静的思考是解决问题的最佳方式</description>
	<lastBuildDate>Thu, 03 May 2012 02:18:45 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
	<item>
		<title>在路上 &#187; adb通过wifi连接 milestone 对《智器Q5 Android系统连接电脑&#124;&#124; ADB 命令略解》的评论</title>
		<link>http://blog.allenm.me/2010/04/%e6%99%ba%e5%99%a8q5-android%e7%b3%bb%e7%bb%9f%e8%bf%9e%e6%8e%a5%e7%94%b5%e8%84%91-adb-%e5%91%bd%e4%bb%a4%e7%95%a5%e8%a7%a3/#comment-1537</link>
		<dc:creator>在路上 &#187; adb通过wifi连接 milestone</dc:creator>
		<pubDate>Thu, 03 May 2012 02:18:45 +0000</pubDate>
		<guid isPermaLink="false">http://allenm.cn/?p=508#comment-1537</guid>
		<description>[...] android shell 的操作，以前玩智器的时候写过一篇, 另外以前写过一个没有 cp 命令的解决方法，我发现我的android 2.1 中已经有 [...]</description>
		<content:encoded><![CDATA[<p>[...] android shell 的操作，以前玩智器的时候写过一篇, 另外以前写过一个没有 cp 命令的解决方法，我发现我的android 2.1 中已经有 [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Leaybc 对《Jquery中$(&quot;#id&quot;)和document.getElementById(&quot;id&quot;)的区别》的评论</title>
		<link>http://blog.allenm.me/2009/07/jquery%e4%b8%adid%e5%92%8cdocumentgetelementbyidid%e7%9a%84%e5%8c%ba%e5%88%ab/#comment-1497</link>
		<dc:creator>Leaybc</dc:creator>
		<pubDate>Tue, 24 Apr 2012 01:29:49 +0000</pubDate>
		<guid isPermaLink="false">http://www.allenm.cn/?p=207#comment-1497</guid>
		<description>的确,刚开始学习jquery的时候容易被这个弄糊涂掉</description>
		<content:encoded><![CDATA[<p>的确,刚开始学习jquery的时候容易被这个弄糊涂掉</p>
]]></content:encoded>
	</item>
	<item>
		<title>可米仔 对《解决wordpress发不了邮件的方法》的评论</title>
		<link>http://blog.allenm.me/2009/10/%e8%a7%a3%e5%86%b3wordpress%e5%8f%91%e4%b8%8d%e4%ba%86%e9%82%ae%e4%bb%b6%e7%9a%84%e6%96%b9%e6%b3%95/#comment-1468</link>
		<dc:creator>可米仔</dc:creator>
		<pubDate>Wed, 18 Apr 2012 10:08:32 +0000</pubDate>
		<guid isPermaLink="false">http://www.allenm.cn/?p=347#comment-1468</guid>
		<description>请问试过不用第三方插件，用服务器默认的qmail组件发送邮件吗？我无论用服务器的，还是gmail的，还是qq邮箱，都不行。。这是怎么回事。。</description>
		<content:encoded><![CDATA[<p>请问试过不用第三方插件，用服务器默认的qmail组件发送邮件吗？我无论用服务器的，还是gmail的，还是qq邮箱，都不行。。这是怎么回事。。</p>
]]></content:encoded>
	</item>
	<item>
		<title>手把手教你开发Chrome扩展三：关于本地存储数据 &#124; 翱翔 Beta 对《localStorage in HTML5（1）》的评论</title>
		<link>http://blog.allenm.me/2011/03/localstorage-in-html5-1/#comment-1463</link>
		<dc:creator>手把手教你开发Chrome扩展三：关于本地存储数据 &#124; 翱翔 Beta</dc:creator>
		<pubDate>Tue, 17 Apr 2012 12:30:30 +0000</pubDate>
		<guid isPermaLink="false">http://blog.allenm.me/?p=644#comment-1463</guid>
		<description>[...] 翱翔 Beta自由的飞翔手把手教你开发Chrome扩展三：关于本地存储数据  作者: satifanie 日期: 2012 年 3 月 14 日  发表评论 (0) 查看评论手把手教你开发chrome扩展一：开发Chrome Extenstion其实很简单手把手教你开发Chrome扩展二：为html添加行为手把手教你开发Chrome扩展三：关于本地存储数据HTML5中的localStoragelocalStorage与cookie类似，它是存储在客户端浏览器中的数据，它与cookie不同的一点是它没有时间限制。localStorage属于html5中的新特性，在浏览器支持localStorage统计中，Chrome4+、Firefox3.5+、IE8+、IE7兼容模式、Safari4+、Opera10.5+都是支持localStorage的。以下代码可以用于检测你的浏览器是否支持localStorage：if(window.localStorage){ alert(&#039;你的浏览器支持localStorage!&#039;); }else{ alert(&#039;浏览器不支持localStorage!&#039;); }localStorage是以key/value方式来进行存储的，并且value只能是字符串形式，如果你要使用其他数据类型，需要进行相应的转换。设置和获取localStorage方法是使用localStorage.key，或localStorage[key]的形式，如：localStorage.myName=&#039;walkingp&#039;; localStorage[&#039;mySite&#039;]=&#039;http://www.cnblogs.com/walkingp&#039;; alert(&#039;name:&#039; + localStorage.myName + &#039;rsite:&#039; + localStorage[&#039;mySite&#039;]);修改其值就是重新设置相应的localStorage项取值。移除其值可以将其值设为null。localStorage[&#039;mySite&#039;]=null;也可以使用localStorage自带方法getItem()、setItem()和removeItem()来进行相应的获取、设置和移除localStorage项。localStorage.setItem(&#039;age&#039;,&#039;24&#039;); var age=localStorage.getItem(&#039;age&#039;); alert(&#039;age:&#039; + age);//age:24 localStorage.removeItem(&#039;age&#039;); age=localStorage.getItem(&#039;age&#039;); alert(&#039;age? &#039; + age);//age? null可以使用clear()方法来清空所有localStorage。对于不同域的localStorage，如本地和a.com，两者不影响对方。关于localStorage本地存储大小，有人测试结果是其他浏览器为5M，Firefox没有作限制。而cookie一般只有几K，可见localStorage非常适合做稍大一些的数据存储，当然对于Chrome等扩展开发是非常合适的。浏览器中的localStorage管理工具Chrome和Safari均有自己的本地localStorage查看和管理工具，Firefox拥有第三方插件可以管理localStorage，Chrome中位于开发人员工具中的Resources左侧的Databases（可能稍早一点的版本位于单独出来的工具栏）。我们上面的localStorage在Chrome查看如下，利用这个工具可以修改或者删除相应项。Safari中需要先在“偏好设置”、“高级”中将“在菜单中显示开发选项”勾选。开始存储我们的localStorage以上是我们需要了解的关于localStorage的知识，接下来就是把这个知识应用到我们Chrome扩展中。我们的数据存储分为两个部分，一是每项task需要存储的内容，它是以JSON的形式来存储的，形式如下：task1:{&quot;id&quot;:1,&quot;task_item&quot;:&quot;新任务&quot;,&quot;add_time&quot;:&quot;2011-04-04T03:20:34.879Z&quot;,&quot;is_finished&quot;:false}task1表示key项，后台的JSON表示value项。意义很简单明了，其中is_finished表示当前任务是否已完成。当更新任务状态时就是将此项取值进行相应的更改。还要放一个指向当前任务的数据，让它充当指针的作用，这样在添加新项时就不需要查询已有task项的id了。&#039;Tasks:index&#039;:1下面是我们代码的具体实现，首先开始初始化数据：var Tasks = { //指针 index:window.localStorage.getItem(&#039;Tasks:index&#039;), //初始化 init:function(){ if(!Tasks.index){ window.localStorage.setItem(&#039;Tasks:index&#039;,Tasks.index=0); } //初始化数据 if(window.localStorage.length-1){ var task_list=[]; var key; for(var i=0,len=window.localStorage.length;i&lt;len;i++){ key=window.localStorage.key(i); if(/task:d+/.test(key)){ task_list.push(JSON.parse(window.localStorage.getItem(key))); } } for(var i=0,len=task_list.length;i&lt;len;i++){ Tasks.AppendHtml(task_list[i]); } } }, //*** }然后是分别是增加项Add()、修改项Edit()和删除项Del()的方法：//增加 Add:function(task){ //更新指针 window.localStorage.setItem(&#039;Tasks:index&#039;, ++Tasks.index); task.id=Tasks.index; window.localStorage.setItem(&quot;task:&quot;+ Tasks.index, JSON.stringify(task)); }, //修改 Edit:function(task){ window.localStorage.setItem(&quot;task:&quot;+ task.id, JSON.stringify(task)); }, //删除 Del:function(task){ window.localStorage.removeItem(&quot;task:&quot;+ task.id); }, //***其中的JSON.stringify是JSON将Javascript数据结构转换为JSON文本的方法，它与eval()为互操作。详情可见http://json.org/js.html 。这样我们就将一个简单的Chrome扩展完成了，演示效果图如下： 当然它现在的功能还不够强大，我们还可以对它进行继续扩展，比如任务排序、任务分组、网络存储、定时提醒等。系列文章至此暂时结束，全部代码包括生成后.crx文件已经打包，下载请点击此处。可能已有代码有一些处理不完善的地方，欢迎大家一一指出，共同进步！原文转自: http://www.cnblogs.com/walkingp/archive/2011/04/04/2003875.html [...]</description>
		<content:encoded><![CDATA[<p>[...] 翱翔 Beta自由的飞翔手把手教你开发Chrome扩展三：关于本地存储数据  作者: satifanie 日期: 2012 年 3 月 14 日  发表评论 (0) 查看评论手把手教你开发chrome扩展一：开发Chrome Extenstion其实很简单手把手教你开发Chrome扩展二：为html添加行为手把手教你开发Chrome扩展三：关于本地存储数据HTML5中的localStoragelocalStorage与cookie类似，它是存储在客户端浏览器中的数据，它与cookie不同的一点是它没有时间限制。localStorage属于html5中的新特性，在浏览器支持localStorage统计中，Chrome4+、Firefox3.5+、IE8+、IE7兼容模式、Safari4+、Opera10.5+都是支持localStorage的。以下代码可以用于检测你的浏览器是否支持localStorage：if(window.localStorage){ alert(&#039;你的浏览器支持localStorage!&#039;); }else{ alert(&#039;浏览器不支持localStorage!&#039;); }localStorage是以key/value方式来进行存储的，并且value只能是字符串形式，如果你要使用其他数据类型，需要进行相应的转换。设置和获取localStorage方法是使用localStorage.key，或localStorage[key]的形式，如：localStorage.myName=&#039;walkingp&#039;; localStorage[&#039;mySite&#039;]=&#039;<a href="http://www.cnblogs.com/walkingp&#038;#039" rel="nofollow">http://www.cnblogs.com/walkingp&#038;#039</a>;; alert(&#039;name:&#039; + localStorage.myName + &#039;rsite:&#039; + localStorage[&#039;mySite&#039;]);修改其值就是重新设置相应的localStorage项取值。移除其值可以将其值设为null。localStorage[&#039;mySite&#039;]=null;也可以使用localStorage自带方法getItem()、setItem()和removeItem()来进行相应的获取、设置和移除localStorage项。localStorage.setItem(&#039;age&#039;,&#039;24&#039;); var age=localStorage.getItem(&#039;age&#039;); alert(&#039;age:&#039; + age);//age:24 localStorage.removeItem(&#039;age&#039;); age=localStorage.getItem(&#039;age&#039;); alert(&#039;age? &#039; + age);//age? null可以使用clear()方法来清空所有localStorage。对于不同域的localStorage，如本地和a.com，两者不影响对方。关于localStorage本地存储大小，有人测试结果是其他浏览器为5M，Firefox没有作限制。而cookie一般只有几K，可见localStorage非常适合做稍大一些的数据存储，当然对于Chrome等扩展开发是非常合适的。浏览器中的localStorage管理工具Chrome和Safari均有自己的本地localStorage查看和管理工具，Firefox拥有第三方插件可以管理localStorage，Chrome中位于开发人员工具中的Resources左侧的Databases（可能稍早一点的版本位于单独出来的工具栏）。我们上面的localStorage在Chrome查看如下，利用这个工具可以修改或者删除相应项。Safari中需要先在“偏好设置”、“高级”中将“在菜单中显示开发选项”勾选。开始存储我们的localStorage以上是我们需要了解的关于localStorage的知识，接下来就是把这个知识应用到我们Chrome扩展中。我们的数据存储分为两个部分，一是每项task需要存储的内容，它是以JSON的形式来存储的，形式如下：task1:{&quot;id&quot;:1,&quot;task_item&quot;:&quot;新任务&quot;,&quot;add_time&quot;:&quot;2011-04-04T03:20:34.879Z&quot;,&quot;is_finished&quot;:false}task1表示key项，后台的JSON表示value项。意义很简单明了，其中is_finished表示当前任务是否已完成。当更新任务状态时就是将此项取值进行相应的更改。还要放一个指向当前任务的数据，让它充当指针的作用，这样在添加新项时就不需要查询已有task项的id了。&#039;Tasks:index&#039;:1下面是我们代码的具体实现，首先开始初始化数据：var Tasks = { //指针 index:window.localStorage.getItem(&#039;Tasks:index&#039;), //初始化 init:function(){ if(!Tasks.index){ window.localStorage.setItem(&#039;Tasks:index&#039;,Tasks.index=0); } //初始化数据 if(window.localStorage.length-1){ var task_list=[]; var key; for(var i=0,len=window.localStorage.length;i&lt;len;i++){ key=window.localStorage.key(i); if(/task:d+/.test(key)){ task_list.push(JSON.parse(window.localStorage.getItem(key))); } } for(var i=0,len=task_list.length;i&lt;len;i++){ Tasks.AppendHtml(task_list[i]); } } }, //*** }然后是分别是增加项Add()、修改项Edit()和删除项Del()的方法：//增加 Add:function(task){ //更新指针 window.localStorage.setItem(&#039;Tasks:index&#039;, ++Tasks.index); task.id=Tasks.index; window.localStorage.setItem(&quot;task:&quot;+ Tasks.index, JSON.stringify(task)); }, //修改 Edit:function(task){ window.localStorage.setItem(&quot;task:&quot;+ task.id, JSON.stringify(task)); }, //删除 Del:function(task){ window.localStorage.removeItem(&quot;task:&quot;+ task.id); }, //***其中的JSON.stringify是JSON将Javascript数据结构转换为JSON文本的方法，它与eval()为互操作。详情可见http://json.org/js.html 。这样我们就将一个简单的Chrome扩展完成了，演示效果图如下： 当然它现在的功能还不够强大，我们还可以对它进行继续扩展，比如任务排序、任务分组、网络存储、定时提醒等。系列文章至此暂时结束，全部代码包括生成后.crx文件已经打包，下载请点击此处。可能已有代码有一些处理不完善的地方，欢迎大家一一指出，共同进步！原文转自: http://www.cnblogs.com/walkingp/archive/2011/04/04/2003875.html [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>tjq 对《修复 MOTO milestone 电源键失灵（教程）》的评论</title>
		<link>http://blog.allenm.me/2011/09/fix-milestone-power-button/#comment-1443</link>
		<dc:creator>tjq</dc:creator>
		<pubDate>Fri, 13 Apr 2012 09:58:00 +0000</pubDate>
		<guid isPermaLink="false">http://blog.allenm.me/?p=663#comment-1443</guid>
		<description>我的里程碑也悲剧了，楼主能否留个QQ想请教一下</description>
		<content:encoded><![CDATA[<p>我的里程碑也悲剧了，楼主能否留个QQ想请教一下</p>
]]></content:encoded>
	</item>
	<item>
		<title>reus 对《python中函数参数的默认值和List, dict》的评论</title>
		<link>http://blog.allenm.me/2012/03/python-default-parameter-value-with-list-or-dict/#comment-1403</link>
		<dc:creator>reus</dc:creator>
		<pubDate>Sun, 01 Apr 2012 04:51:18 +0000</pubDate>
		<guid isPermaLink="false">http://blog.allenm.me/?p=721#comment-1403</guid>
		<description>参数的默认值是在函数生成的时候生成，而不是调用时，所以多次调用传入的是同一个对象</description>
		<content:encoded><![CDATA[<p>参数的默认值是在函数生成的时候生成，而不是调用时，所以多次调用传入的是同一个对象</p>
]]></content:encoded>
	</item>
	<item>
		<title>allenm 对《python中函数参数的默认值和List, dict》的评论</title>
		<link>http://blog.allenm.me/2012/03/python-default-parameter-value-with-list-or-dict/#comment-1399</link>
		<dc:creator>allenm</dc:creator>
		<pubDate>Sat, 31 Mar 2012 13:40:48 +0000</pubDate>
		<guid isPermaLink="false">http://blog.allenm.me/?p=721#comment-1399</guid>
		<description>其他语言也有很多是这样的，比如 javascript 。对于 array , object 这些类型，对变量赋值，都是赋的他们的引用。</description>
		<content:encoded><![CDATA[<p>其他语言也有很多是这样的，比如 javascript 。对于 array , object 这些类型，对变量赋值，都是赋的他们的引用。</p>
]]></content:encoded>
	</item>
	<item>
		<title>maxSonic 对《python中函数参数的默认值和List, dict》的评论</title>
		<link>http://blog.allenm.me/2012/03/python-default-parameter-value-with-list-or-dict/#comment-1398</link>
		<dc:creator>maxSonic</dc:creator>
		<pubDate>Sat, 31 Mar 2012 13:23:02 +0000</pubDate>
		<guid isPermaLink="false">http://blog.allenm.me/?p=721#comment-1398</guid>
		<description>其实我刚刚学python的时候，一直觉得这个很狗血。不过后来看些视频，才感觉不是那么狗血。</description>
		<content:encoded><![CDATA[<p>其实我刚刚学python的时候，一直觉得这个很狗血。不过后来看些视频，才感觉不是那么狗血。</p>
]]></content:encoded>
	</item>
	<item>
		<title>allenm 对《Mac 在无法启动的情况下备份数据》的评论</title>
		<link>http://blog.allenm.me/2011/11/backup-data-from-disk-error-mac/#comment-1397</link>
		<dc:creator>allenm</dc:creator>
		<pubDate>Sat, 31 Mar 2012 12:34:58 +0000</pubDate>
		<guid isPermaLink="false">http://blog.allenm.me/?p=684#comment-1397</guid>
		<description>报什么错呢？</description>
		<content:encoded><![CDATA[<p>报什么错呢？</p>
]]></content:encoded>
	</item>
	<item>
		<title>allenm 对《Mac 在无法启动的情况下备份数据》的评论</title>
		<link>http://blog.allenm.me/2011/11/backup-data-from-disk-error-mac/#comment-1396</link>
		<dc:creator>allenm</dc:creator>
		<pubDate>Sat, 31 Mar 2012 12:34:27 +0000</pubDate>
		<guid isPermaLink="false">http://blog.allenm.me/?p=684#comment-1396</guid>
		<description>谢谢提醒，现在应该已经修正</description>
		<content:encoded><![CDATA[<p>谢谢提醒，现在应该已经修正</p>
]]></content:encoded>
	</item>
</channel>
</rss>

