<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet href='http://feed.babaniu.com/styles/feedsky2.xsl' type='text/xsl' ?><!--这是一个由Feedsy提供技术支持的Feed，为了提高读者阅读的体验，以及满足用户美化自己Feed的需要，我们设计了多种精美的Feed模板，提供给大家选择，所有最终呈现出来的样式，皆由用户自愿选择使用，未经许可，任何团体和个人，请不要擅自修改样式或者盗用，这是对于用户选择权的尊重。--><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:fs="http://www.feedsky.com/namespace/feed" 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/" version="2.0"><channel><atom:link href="http://feed.babaniu.com" type="application/rss+xml" rel="self"></atom:link><fs:self_link href="http://feed.feedsky.com/babaniu" type="application/rss+xml"></fs:self_link><lastBuildDate>Mon, 25 Aug 2008 04:39:03 GMT</lastBuildDate><title>巴巴牛博客</title><description>关注于互联网、网络开发的技术博客</description><link>http://www.babaniu.com</link><language>en</language><pubDate>Mon, 25 Aug 2008 04:49:53 GMT</pubDate><item><title>Google AdSense 出现重大bug？</title><link>http://item.feedsky.com/~feedsky/babaniu/~7053786/107493392/5161782/1/item.html</link><content:encoded>&lt;p&gt;最近朋友向我反映，每次在网站上添加google横幅广告时，网站的收入总会下降。&lt;/p&gt;
&lt;p&gt;刚开始没理他，以为他想当然，可是他跟我说了好几次，而且给我看以下的图片&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.babaniu.com/wp-content/uploads/2008/08/gg.jpg&quot;&gt;&lt;img class=&quot;alignnone size-medium wp-image-31&quot; title=&quot;gg&quot; src=&quot;http://www.babaniu.com/wp-content/uploads/2008/08/gg-300x69.jpg&quot; alt=&quot;google adsense bug&quot; width=&quot;300&quot; height=&quot;69&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;从上面的图片我发现了1个奇怪的现象，展示率增加了两倍，点击率却降到原来的3分之1&lt;/p&gt;
&lt;p&gt;为什么会出现这种情况呢？难道是google adsense的bug？&lt;/p&gt;
&lt;p&gt;为了进一步了解情况，我查了本月的全部广告记录，情况和上面这个图片完全一致&lt;/p&gt;
&lt;p&gt;##################################################&lt;/p&gt;
&lt;p&gt;2008年8月1日 - 2008年8月24日&lt;/p&gt;
&lt;p&gt;合计  238,622  2,296        US$59.03&lt;br /&gt;
日期  网页展示次数  点击次数  网页点击率  网页 eCPM [?]  收入&lt;br /&gt;
&lt;span style=&quot;color: #993300;&quot;&gt;2008年8月1日星期五  14,033  56  0.40%  US$0.11  US$1.57&lt;br /&gt;
2008年8月2日星期六  13,049  52  0.40%  US$0.14  US$1.83&lt;br /&gt;
2008年8月3日星期日  12,018  62  0.52%  US$0.15  US$1.82&lt;br /&gt;
2008年8月4日星期一  11,154  48  0.43%  US$0.14  US$1.61&lt;br /&gt;
2008年8月5日星期二  14,547  95  0.65%  US$0.26  US$3.72&lt;br /&gt;
2008年8月6日星期三  12,807  57  0.45%  US$0.15  US$1.96&lt;br /&gt;
2008年8月7日星期四  11,752  41  0.35%  US$0.13  US$1.50&lt;/span&gt;&lt;br /&gt;
2008年8月8日星期五  5,468  77  1.41%  US$0.26  US$1.40&lt;br /&gt;
2008年8月9日星期六  5,509  100  1.82%  US$0.44  US$2.40&lt;br /&gt;
2008年8月10日星期日  5,878  116  1.97%  US$0.46  US$2.68&lt;br /&gt;
2008年8月11日星期一  6,842  108  1.58%  US$0.36  US$2.47&lt;br /&gt;
2008年8月12日星期二  7,185  137  1.91%  US$0.42  US$3.05&lt;br /&gt;
2008年8月13日星期三  6,547  136  2.08%  US$0.41  US$2.65&lt;br /&gt;
2008年8月14日星期四  7,202  123  1.71%  US$0.54  US$3.89&lt;br /&gt;
2008年8月15日星期五  7,175  152  2.12%  US$0.37  US$2.62&lt;br /&gt;
2008年8月16日星期六  8,115  155  1.91%  US$0.30  US$2.44&lt;br /&gt;
2008年8月17日星期日  6,977  158  2.26%  US$0.70  US$4.86&lt;br /&gt;
2008年8月18日星期一  8,384  137  1.63%  US$0.34  US$2.89&lt;br /&gt;
2008年8月19日星期二  8,624  118  1.37%  US$0.45  US$3.87&lt;br /&gt;
2008年8月20日星期三  6,765  125  1.85%  US$0.40  US$2.69&lt;br /&gt;
2008年8月21日星期四  13,027  127  0.97%  US$0.21  US$2.70&lt;br /&gt;
&lt;span style=&quot;color: #993300;&quot;&gt;2008年8月22日星期五  16,172  40  0.25%  US$0.12  US$1.96&lt;br /&gt;
2008年8月23日星期六  18,103  53  0.29%  US$0.10  US$1.79&lt;br /&gt;
2008年8月24日星期日  11,289  23  0.20%  US$0.06  US$0.66&lt;br /&gt;
&lt;/span&gt;合计  238,622  2,296        US$59.03&lt;br /&gt;
平均值  9,942  95  0.96%  US$0.25  US$2.46&lt;/p&gt;
&lt;p&gt;##################################################&lt;/p&gt;
&lt;p&gt;棕色文字部分是放上横幅广告的日期，中间部分是撤下横幅广告的日期&lt;/p&gt;
&lt;p&gt;可以明显看出展示率和点击率的反常变化，而网站在本月份一切正常，也没有采取任何作弊的手段&lt;/p&gt;
&lt;p&gt;不知其它人是否也有这种情况&lt;/p&gt;</content:encoded><wfw:commentRss>http://www.babaniu.com/?feed=rss2&amp;p=30</wfw:commentRss><description>最近朋友向我反映，每次在网站上添加google横幅广告时，网站的收入总会下降。
刚开始没理他，以为他想当然，可是他跟我说了好几次，而且给我看以下的图片

从上面的图片我发现了1个奇怪的现象，展示率增加了两倍，点击率却降到原来的3分之1
为什么会出现这种情况呢？难道是google adsense的bug？
为了进一步了解情况，我查了本月的全部广告记录，情况和上面这个图片完全一致
##################################################
2008年8月1日 - 2008年8月24日
合计  238,622  2,296        US$59.03
日期  网页展示次数  点击次数  网页点击率  网页 eCPM [?]  收入
2008年8月1日星期五  14,033  56  0.40%  US$0.11  US$1.57
2008年8月2日星期六  13,049  52  0.40%  US$0.14  US$1.83
2008年8月3日星期日  12,018  62  0.52%  US$0.15  US$1.82
2008年8月4日星期一  11,154  48  0.43%  US$0.14  US$1.61
2008年8月5日星期二  14,547  95  0.65%  US$0.26  US$3.72
2008年8月6日星期三  12,807  57  0.45%  US$0.15  US$1.96
2008年8月7日星期四  11,752  41  0.35%  US$0.13  US$1.50
2008年8月8日星期五  5,468  77  1.41%  US$0.26 [...]</description><category>百度 PK Google</category><category>google adsense</category><category>bug</category><category>google</category><pubDate>Mon, 25 Aug 2008 12:39:03 +0800</pubDate><author>admin</author><comments>http://www.babaniu.com/?p=30#comments</comments><guid isPermaLink="false">http://www.babaniu.com/?p=30</guid><dc:creator>admin</dc:creator><fs:srclink>http://www.babaniu.com/?p=30</fs:srclink><fs:srcfeed>http://www.babaniu.com/?feed=rss2</fs:srcfeed><fs:itemid>feedsky/babaniu/~7053786/107493392/5161782</fs:itemid></item><item><title>液晶显示器拖影(尾巴)原来是连接线问题</title><link>http://item.feedsky.com/~feedsky/babaniu/~7053786/107450085/5161782/1/item.html</link><content:encoded>&lt;p&gt;年初刚买的三星17寸液晶, 这段时间发现深颜色右边出现拖影, 尤其是屏幕右边相当严重,上网查了些资料,有人说是连接不好的缘故, 关了液晶的电源后,动了动连接线的接头处, 果然不会拖影了, 看起来舒服很多!&lt;/p&gt;</content:encoded><wfw:commentRss>http://www.babaniu.com/?feed=rss2&amp;p=29</wfw:commentRss><description>年初刚买的三星17寸液晶, 这段时间发现深颜色右边出现拖影, 尤其是屏幕右边相当严重,上网查了些资料,有人说是连接不好的缘故, 关了液晶的电源后,动了动连接线的接头处, 果然不会拖影了, 看起来舒服很多!</description><category>液晶</category><category>尾巴</category><category>电脑知识</category><category>拖影</category><pubDate>Mon, 25 Aug 2008 11:42:04 +0800</pubDate><author>admin</author><comments>http://www.babaniu.com/?p=29#comments</comments><guid isPermaLink="false">http://www.babaniu.com/?p=29</guid><dc:creator>admin</dc:creator><fs:srclink>http://www.babaniu.com/?p=29</fs:srclink><fs:srcfeed>http://www.babaniu.com/?feed=rss2</fs:srcfeed><fs:itemid>feedsky/babaniu/~7053786/107450085/5161782</fs:itemid></item><item><title>左右滚动的图片列表上下对不齐解决方法</title><link>http://item.feedsky.com/~feedsky/babaniu/~7053786/107450086/5161782/1/item.html</link><content:encoded>&lt;p&gt;平时经常在网站中制作滚动的图片列表，也没出什么事，今天却出现图片上下凹凸不平，实在不解，经过测试才发现是图片下面文字长度搞的鬼，如果图片下面文字长短不一就会出现这种情况，处理方法是将长文字截断，搞成固定长度，这样看起来也美观。&lt;/p&gt;</content:encoded><wfw:commentRss>http://www.babaniu.com/?feed=rss2&amp;p=28</wfw:commentRss><description>平时经常在网站中制作滚动的图片列表，也没出什么事，今天却出现图片上下凹凸不平，实在不解，经过测试才发现是图片下面文字长度搞的鬼，如果图片下面文字长短不一就会出现这种情况，处理方法是将长文字截断，搞成固定长度，这样看起来也美观。</description><category>滚动图片</category><category>网页技术</category><category>图片列表</category><pubDate>Thu, 07 Aug 2008 11:52:26 +0800</pubDate><author>admin</author><comments>http://www.babaniu.com/?p=28#comments</comments><guid isPermaLink="false">http://www.babaniu.com/?p=28</guid><dc:creator>admin</dc:creator><fs:srclink>http://www.babaniu.com/?p=28</fs:srclink><fs:srcfeed>http://www.babaniu.com/?feed=rss2</fs:srcfeed><fs:itemid>feedsky/babaniu/~7053786/107450086/5161782</fs:itemid></item><item><title>firefox和IE浏览器兼容问题(经典)</title><link>http://item.feedsky.com/~feedsky/babaniu/~7053786/107450087/5161782/1/item.html</link><content:encoded>&lt;p&gt;平时写代码都只在ie下测试，今天用firefox2打开看时吓一跳，有个ifram居然不显示。&lt;/p&gt;
&lt;p&gt;google上查到这篇文件，觉得不错，转载于此，因原文也是转载，所以没标来源。&lt;/p&gt;
&lt;p&gt;以后若有其它相关内容，将予以更新&lt;/p&gt;
&lt;p&gt;1.集合类对象问题&lt;br /&gt;
说明:IE下,可以使用()或[]获取集合类对象;&lt;br /&gt;
Firefox下,只能使用[]获取集合类对象.&lt;br /&gt;
解决方法:统一使用[]获取集合类对象.&lt;br /&gt;
2.HTML对象获取问题&lt;br /&gt;
FireFox：document.getElementById(&amp;#8221;idName&amp;#8221;);&lt;br /&gt;
ie:document.idname或者document.getElementById(&amp;#8221;idName&amp;#8221;).&lt;br /&gt;
解决办法：统一使用document.getElementById(&amp;#8221;idName&amp;#8221;);&lt;br /&gt;
3.const问题&lt;br /&gt;
说明:Firefox下,可以使用const关键字或var关键字来定义常量;&lt;br /&gt;
IE下,只能使用var关键字来定义常量.&lt;br /&gt;
解决方法:统一使用var关键字来定义常量.&lt;br /&gt;
4.window.event问题&lt;br /&gt;
说明:window.event只能在IE下运行,而不能在Firefox下运行,这是因为Firefox的event只能在事件发生的现场使用. Firefox必须从源处加入event作参数传递。Ie忽略该参数，用window.event来读取该event。&lt;br /&gt;
解决方法:&lt;br /&gt;
IE&amp;amp;Firefox:&lt;br /&gt;
Submitted(event)&amp;#8221;/&amp;gt; …&lt;br /&gt;
&amp;lt;scrīpt language=&amp;#8221;javascrīpt&amp;#8221;&amp;gt;&lt;br /&gt;
function Submitted(evt) {&lt;br /&gt;
evt=evt?evt:(window.event?window.event:null);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/scrīpt&amp;gt;&lt;br /&gt;
5.event.x与event.y问题&lt;br /&gt;
说明:IE下,even对象有x,y属性,但是没有pageX,pageY属性;&lt;br /&gt;
Firefox下,even对象有pageX,pageY属性,但是没有x,y属性.&lt;br /&gt;
解决方法:使用mX(mX = event.x ? event.x : event.pageX;)来代替IE下的event.x或者Firefox下的event.pageX.&lt;br /&gt;
6.event.srcElement问题&lt;br /&gt;
说明:IE下,event对象有srcElement属性,但是没有target属性;&lt;br /&gt;
Firefox下,even对象有target属性,但是没有srcElement属性.&lt;br /&gt;
解决方法:使用obj(obj = event.srcElement ? event.srcElement : event.target;)来代替IE下的event.srcElement或者Firefox下的event.target. 请同时注意event的兼容性问题。&lt;/p&gt;
&lt;p&gt;7.window.location.href问题&lt;br /&gt;
说明:IE或者Firefox2.0.x下,可以使用window.location或window.location.href;&lt;br /&gt;
Firefox1.5.x下,只能使用window.location.&lt;br /&gt;
解决方法:使用window.location来代替window.location.href.&lt;/p&gt;
&lt;p&gt;8.模态和非模态窗口问题&lt;br /&gt;
说明:IE下,可以通过showModalDialog和showModelessDialog打开模态和非模态窗口;Firefox下则不能.&lt;br /&gt;
解决方法:直接使用window.open(pageURL,name,parameters)方式打开新窗口。&lt;br /&gt;
如果需要将子窗口中的参数传递回父窗口,可以在子窗口中使用window.opener来访问父窗口.&lt;br /&gt;
例如：var parWin = window.opener; parWin.document.getElementById(&amp;#8221;Aqing&amp;#8221;).value = &amp;#8220;Aqing&amp;#8221;;&lt;/p&gt;
&lt;p&gt;9.frame问题&lt;br /&gt;
以下面的frame为例：&lt;br /&gt;
&amp;lt;frame src=&amp;#8221;xxx.html&amp;#8221; id=&amp;#8221;frameId&amp;#8221; name=&amp;#8221;frameName&amp;#8221; /&amp;gt;&lt;/p&gt;
&lt;p&gt;(1)访问frame对象:&lt;br /&gt;
IE:使用window.frameId或者window.frameName来访问这个frame对象. frameId和frameName可以同名。&lt;br /&gt;
Firefox:只能使用window.frameName来访问这个frame对象.&lt;br /&gt;
另外，在IE和Firefox中都可以使用window.document.getElementById(&amp;#8221;frameId&amp;#8221;)来访问这个frame对象.&lt;/p&gt;
&lt;p&gt;(2)切换frame内容:&lt;br /&gt;
在IE和Firefox中都可以使用window.document.getElementById(&amp;#8221;testFrame&amp;#8221;).src = &amp;#8220;xxx.html&amp;#8221;或window.frameName.location = &amp;#8220;xxx.html&amp;#8221;来切换frame的内容.&lt;br /&gt;
如果需要将frame中的参数传回父窗口(注意不是opener,而是parent frame)，可以在frme中使用parent来访问父窗口。例如：parent.document.form1.filename.value=&amp;#8221;Aqing&amp;#8221;;&lt;/p&gt;
&lt;p&gt;10.body问题&lt;br /&gt;
Firefox的body在body标签没有被浏览器完全读入之前就存在；而IE的body则必须在body标签被浏览器完全读入之后才存在.&lt;/p&gt;
&lt;p&gt;11. 事件委托方法&lt;br /&gt;
IE：document.body.onload = inject; //Function inject()在这之前已被实现&lt;br /&gt;
Firefox：document.body.onload = inject();&lt;/p&gt;
&lt;p&gt;12. firefox与IE的父元素(parentElement)的区别&lt;br /&gt;
IE：obj.parentElement&lt;br /&gt;
firefox：obj.parentNode&lt;br /&gt;
解决方法: 因为firefox与IE都支持DOM,因此使用obj.parentNode是不错选择.&lt;/p&gt;
&lt;p&gt;13.cursor:hand VS cursor:pointer&lt;br /&gt;
firefox不支持hand，但ie支持pointer&lt;br /&gt;
解决方法: 统一使用pointer&lt;/p&gt;
&lt;p&gt;14.innerText在IE中能正常工作，但是innerText在FireFox中却不行. 需用textContent。&lt;br /&gt;
解决方法:&lt;br /&gt;
if(navigator.appName.indexOf(&amp;#8221;Explorer&amp;#8221;) &amp;gt; -1){&lt;br /&gt;
document.getElementById(&amp;#8217;element&amp;#8217;).innerText = &amp;#8220;my text&amp;#8221;;&lt;br /&gt;
} else{&lt;br /&gt;
document.getElementById(&amp;#8217;element&amp;#8217;).textContent = &amp;#8220;my text&amp;#8221;;&lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;15. FireFox中设置HTML标签的style时，所有位置性和字体尺寸的值必须后跟px。这个ie也是支持的。&lt;/p&gt;
&lt;p&gt;16. ie,firefox以及其它浏览器对于 table 标签的操作都各不相同，&lt;br /&gt;
在ie中不允许对table和tr的innerHTML赋值，使用js增加一个tr时，使用appendChild方法也不管用。&lt;br /&gt;
解决方法：&lt;br /&gt;
//向table追加一个空行：&lt;br /&gt;
var row = otable.insertRow(-1);&lt;br /&gt;
var cell = document.createElement(&amp;#8221;td&amp;#8221;);&lt;br /&gt;
cell.innerHTML = &amp;#8221; &amp;#8220;;&lt;br /&gt;
cell.className = &amp;#8220;XXXX&amp;#8221;;&lt;br /&gt;
row.appendChild(cell);&lt;/p&gt;
&lt;p&gt;17. padding 问题&lt;br /&gt;
padding 5px 4px 3px 1px FireFox无法解释简写,&lt;br /&gt;
必须改成 padding-top:5px; padding-right:4px; padding-bottom:3px; padding-left:1px;&lt;/p&gt;
&lt;p&gt;18. 消除ul、ol等列表的缩进时&lt;br /&gt;
样式应写成:list-style:none;margin:0px;padding:0px;&lt;br /&gt;
其中margin属性对IE有效，padding属性对FireFox有效&lt;/p&gt;
&lt;p&gt;19. CSS透明&lt;br /&gt;
IE：filter:progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=60)。&lt;br /&gt;
FF：opacity:0.6。&lt;/p&gt;
&lt;p&gt;20. CSS圆角&lt;br /&gt;
IE：不支持圆角。&lt;br /&gt;
FF： -moz-border-radius:4px，或者-moz-border-radius-topleft:4px;-moz-border- radius-topright:4px;-moz-border-radius-bottomleft:4px;-moz-border-radius- bottomright:4px;。&lt;/p&gt;
&lt;p&gt;21. CSS双线凹凸边框&lt;br /&gt;
IE：border:2px outset;。&lt;br /&gt;
FF： -moz-border-top-colors: #d4d0c8 white;-moz-border-left-colors: #d4d0c8 white;-moz-border-right-colors:#404040 #808080;-moz-border-bottom-colors:#404040 #808080;&lt;/p&gt;
&lt;p&gt;22. 对select的options集合操作&lt;br /&gt;
枚举元素除了[]外，SelectName.options.item()也是可以的, 另外SelectName.options.length, SelectName.options.add/remove都可以在两种浏览器上使用。注意在add后赋值元素，否则会失败（本人试验如此）。&lt;/p&gt;
&lt;p&gt;23. XMLHTTP的区别&lt;br /&gt;
//mf&lt;br /&gt;
if (window.XMLHttpRequest) //mf&lt;br /&gt;
{&lt;br /&gt;
xmlhttp=new XMLHttpRequest()&lt;br /&gt;
xmlhttp.onreadystatechange=xmlhttpChange&lt;br /&gt;
xmlhttp.open(&amp;#8221;GET&amp;#8221;,url,true)&lt;br /&gt;
xmlhttp.send(null)&lt;br /&gt;
}&lt;br /&gt;
//ie&lt;br /&gt;
else if (window.ActiveXObject) // code for IE&lt;br /&gt;
{&lt;br /&gt;
xmlhttp=new ActiveXObject(&amp;#8221;Microsoft.XMLHTTP&amp;#8221;)&lt;br /&gt;
if (xmlhttp)&lt;br /&gt;
{&lt;br /&gt;
xmlhttp.onreadystatechange=xmlhttpChange&lt;br /&gt;
xmlhttp.open(&amp;#8221;GET&amp;#8221;,url,true)&lt;br /&gt;
xmlhttp.send()&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
24.css中的width和padding&lt;br /&gt;
在IE7和FF中width宽度不包括padding，在Ie6中包括padding.&lt;/p&gt;</content:encoded><wfw:commentRss>http://www.babaniu.com/?feed=rss2&amp;p=27</wfw:commentRss><description>平时写代码都只在ie下测试，今天用firefox2打开看时吓一跳，有个ifram居然不显示。
google上查到这篇文件，觉得不错，转载于此，因原文也是转载，所以没标来源。
以后若有其它相关内容，将予以更新
1.集合类对象问题
说明:IE下,可以使用()或[]获取集合类对象;
Firefox下,只能使用[]获取集合类对象.
解决方法:统一使用[]获取集合类对象.
2.HTML对象获取问题
FireFox：document.getElementById(&amp;#8221;idName&amp;#8221;);
ie:document.idname或者document.getElementById(&amp;#8221;idName&amp;#8221;).
解决办法：统一使用document.getElementById(&amp;#8221;idName&amp;#8221;);
3.const问题
说明:Firefox下,可以使用const关键字或var关键字来定义常量;
IE下,只能使用var关键字来定义常量.
解决方法:统一使用var关键字来定义常量.
4.window.event问题
说明:window.event只能在IE下运行,而不能在Firefox下运行,这是因为Firefox的event只能在事件发生的现场使用. Firefox必须从源处加入event作参数传递。Ie忽略该参数，用window.event来读取该event。
解决方法:
IE&amp;#38;Firefox:
Submitted(event)&amp;#8221;/&amp;#62; …
&amp;#60;scrīpt language=&amp;#8221;javascrīpt&amp;#8221;&amp;#62;
function Submitted(evt) {
evt=evt?evt:(window.event?window.event:null);
}
&amp;#60;/scrīpt&amp;#62;
5.event.x与event.y问题
说明:IE下,even对象有x,y属性,但是没有pageX,pageY属性;
Firefox下,even对象有pageX,pageY属性,但是没有x,y属性.
解决方法:使用mX(mX = event.x ? event.x : event.pageX;)来代替IE下的event.x或者Firefox下的event.pageX.
6.event.srcElement问题
说明:IE下,event对象有srcElement属性,但是没有target属性;
Firefox下,even对象有target属性,但是没有srcElement属性.
解决方法:使用obj(obj = event.srcElement ? event.srcElement : event.target;)来代替IE下的event.srcElement或者Firefox下的event.target. 请同时注意event的兼容性问题。
7.window.location.href问题
说明:IE或者Firefox2.0.x下,可以使用window.location或window.location.href;
Firefox1.5.x下,只能使用window.location.
解决方法:使用window.location来代替window.location.href.
8.模态和非模态窗口问题
说明:IE下,可以通过showModalDialog和showModelessDialog打开模态和非模态窗口;Firefox下则不能.
解决方法:直接使用window.open(pageURL,name,parameters)方式打开新窗口。
如果需要将子窗口中的参数传递回父窗口,可以在子窗口中使用window.opener来访问父窗口.
例如：var parWin = window.opener; parWin.document.getElementById(&amp;#8221;Aqing&amp;#8221;).value = &amp;#8220;Aqing&amp;#8221;;
9.frame问题
以下面的frame为例：
&amp;#60;frame src=&amp;#8221;xxx.html&amp;#8221; id=&amp;#8221;frameId&amp;#8221; name=&amp;#8221;frameName&amp;#8221; /&amp;#62;
(1)访问frame对象:
IE:使用window.frameId或者window.frameName来访问这个frame对象. frameId和frameName可以同名。
Firefox:只能使用window.frameName来访问这个frame对象.
另外，在IE和Firefox中都可以使用window.document.getElementById(&amp;#8221;frameId&amp;#8221;)来访问这个frame对象.
(2)切换frame内容:
在IE和Firefox中都可以使用window.document.getElementById(&amp;#8221;testFrame&amp;#8221;).src = &amp;#8220;xxx.html&amp;#8221;或window.frameName.location = &amp;#8220;xxx.html&amp;#8221;来切换frame的内容.
如果需要将frame中的参数传回父窗口(注意不是opener,而是parent frame)，可以在frme中使用parent来访问父窗口。例如：parent.document.form1.filename.value=&amp;#8221;Aqing&amp;#8221;;
10.body问题
Firefox的body在body标签没有被浏览器完全读入之前就存在；而IE的body则必须在body标签被浏览器完全读入之后才存在.
11. 事件委托方法
IE：document.body.onload = inject; //Function inject()在这之前已被实现
Firefox：document.body.onload = inject();
12. firefox与IE的父元素(parentElement)的区别
IE：obj.parentElement
firefox：obj.parentNode
解决方法: 因为firefox与IE都支持DOM,因此使用obj.parentNode是不错选择.
13.cursor:hand VS cursor:pointer
firefox不支持hand，但ie支持pointer
解决方法: 统一使用pointer
14.innerText在IE中能正常工作，但是innerText在FireFox中却不行. 需用textContent。
解决方法:
if(navigator.appName.indexOf(&amp;#8221;Explorer&amp;#8221;) &amp;#62; -1){
document.getElementById(&amp;#8217;element&amp;#8217;).innerText = &amp;#8220;my text&amp;#8221;;
} else{
document.getElementById(&amp;#8217;element&amp;#8217;).textContent = [...]</description><category>firefox</category><category>网页技术</category><category>文摘</category><category>浏览器</category><category>IE</category><pubDate>Sat, 26 Jul 2008 16:34:37 +0800</pubDate><author>admin</author><comments>http://www.babaniu.com/?p=27#comments</comments><guid isPermaLink="false">http://www.babaniu.com/?p=27</guid><dc:creator>admin</dc:creator><fs:srclink>http://www.babaniu.com/?p=27</fs:srclink><fs:srcfeed>http://www.babaniu.com/?feed=rss2</fs:srcfeed><fs:itemid>feedsky/babaniu/~7053786/107450087/5161782</fs:itemid></item><item><title>如何在IIS里快速建网站</title><link>http://item.feedsky.com/~feedsky/babaniu/~7053786/107450088/5161782/1/item.html</link><content:encoded>&lt;p&gt;习惯了windows的图形界面，在IIS里建网站也是用对话框方式。&lt;/p&gt;
&lt;p&gt;尽管有时觉得不方便，每次 &lt;span style=&quot;color: #ff00ff;&quot;&gt;新建》网站&lt;/span&gt; 时，总看到那个 &lt;span style=&quot;color: #ff00ff;&quot;&gt;网站（来自文件）&lt;/span&gt; 偶尔也会想：这“来自文件”是怎样的呢，却一直没去尝试，这就是人的惰性吧，怎么也没想到，这“来自文件”竞是这么的好用。&lt;/p&gt;
&lt;p&gt;今天，有朋友让我帮他建3个网站，域名都是用了子域名，分别是book.xxx.com、vod.xxx.com、flash.xxx.com，好烦，同样的设置又要弄3遍，虽然用不了多少时间，但这种重复劳动让我忍无可忍了，就不能复制一下么？这使我想起那个“来自文件”，OK，就那个试试。&lt;/p&gt;
&lt;p&gt;要想“来自文件”，要先有文件，文件该是怎样的呢？我知道IIS里的“网站”右键菜单里有 &lt;span style=&quot;color: #ff00ff;&quot;&gt;所有任务》将配置保存到一个文件&lt;/span&gt;，会将IIS里所有的网站配置信息保存到一个xml文件里，是不是每个站点也可以单独保存一个xml文件呢？果然如此，接下来的事就好办了。&lt;/p&gt;
&lt;p&gt; 将已有的网站信息导出一个，然后修改导出的xml文件，再用 &lt;span style=&quot;color: #ff00ff;&quot;&gt;新建》网站（来自文件）&lt;/span&gt;打开导入配置对话框，选择修改好的文件，读文件，再选择站点（我的文件里只有一个，也可以有多个），按确定，新站点就建好了，另外两个也依样画葫芦，真是爽！&lt;/p&gt;
&lt;p&gt;如果只是建一个站，是体现不出快速的，特别是在建很多站点，而且配置基本一样时，就体现出优势了。&lt;/p&gt;</content:encoded><wfw:commentRss>http://www.babaniu.com/?feed=rss2&amp;p=26</wfw:commentRss><description>习惯了windows的图形界面，在IIS里建网站也是用对话框方式。
尽管有时觉得不方便，每次 新建》网站 时，总看到那个 网站（来自文件） 偶尔也会想：这“来自文件”是怎样的呢，却一直没去尝试，这就是人的惰性吧，怎么也没想到，这“来自文件”竞是这么的好用。
今天，有朋友让我帮他建3个网站，域名都是用了子域名，分别是book.xxx.com、vod.xxx.com、flash.xxx.com，好烦，同样的设置又要弄3遍，虽然用不了多少时间，但这种重复劳动让我忍无可忍了，就不能复制一下么？这使我想起那个“来自文件”，OK，就那个试试。
要想“来自文件”，要先有文件，文件该是怎样的呢？我知道IIS里的“网站”右键菜单里有 所有任务》将配置保存到一个文件，会将IIS里所有的网站配置信息保存到一个xml文件里，是不是每个站点也可以单独保存一个xml文件呢？果然如此，接下来的事就好办了。
 将已有的网站信息导出一个，然后修改导出的xml文件，再用 新建》网站（来自文件）打开导入配置对话框，选择修改好的文件，读文件，再选择站点（我的文件里只有一个，也可以有多个），按确定，新站点就建好了，另外两个也依样画葫芦，真是爽！
如果只是建一个站，是体现不出快速的，特别是在建很多站点，而且配置基本一样时，就体现出优势了。</description><category>IIS</category><category>服务器相关</category><pubDate>Wed, 23 Jul 2008 22:49:31 +0800</pubDate><author>admin</author><comments>http://www.babaniu.com/?p=26#comments</comments><guid isPermaLink="false">http://www.babaniu.com/?p=26</guid><dc:creator>admin</dc:creator><fs:srclink>http://www.babaniu.com/?p=26</fs:srclink><fs:srcfeed>http://www.babaniu.com/?feed=rss2</fs:srcfeed><fs:itemid>feedsky/babaniu/~7053786/107450088/5161782</fs:itemid></item><item><title>WinXP系统登陆密码忘记后的最简单方法</title><link>http://item.feedsky.com/~feedsky/babaniu/~7053786/107450089/5161782/1/item.html</link><content:encoded>&lt;p&gt;朋友在西宁做生意，打电话来说winxp密码忘记了，问我有没有办法。&lt;/p&gt;
&lt;p&gt;虽然平时以电脑高手自吹，其实电脑水平不过尔尔，好在现在有网络，马上上网查！&lt;/p&gt;
&lt;p&gt;网友们的方法好多，可最简单的也要弄个启动盘，朋友是个菜鸟，身边哪有这玩意儿，只好作罢，明天搬电脑公司去吧。&lt;/p&gt;
&lt;p&gt;现将这个最简单的方法记下，以后也许用得着&lt;/p&gt;
&lt;p&gt;原理：将系统中账户信息文件替换成原始文件&lt;/p&gt;
&lt;p&gt;假设系统装在C盘&lt;/p&gt;
&lt;p&gt; 账户信息文件：C:\WINDOWS\system32\config\sam&lt;/p&gt;
&lt;p&gt;原始文件：C:\WINDOWS\repair\sam&lt;/p&gt;
&lt;p&gt;操作：将C:\WINDOWS\repair\sam复制到 C:\WINDOWS\system32\config\ 替换掉原有sam文件&lt;/p&gt;
&lt;p&gt;方式有好多种：&lt;/p&gt;
&lt;p&gt;1、用带PE系统的光盘启动，在PE系统的图形界面下替换个文件应该很容易，然后拿出光盘重启电脑后就可以不用密码直接登陆了&lt;/p&gt;
&lt;p&gt;2、将系统所在的硬盘拆下，接到其它正常电脑，从正常电脑登陆后，进行上面据说的文件替换&lt;/p&gt;
&lt;p&gt;3、用Dos光盘/软盘/Usp盘启动，在dos下用命令替换（如果系统所在硬盘是ntfs格式，要再装一个dos读ntfs软件才可以对目标文件进行操作）&lt;/p&gt;
&lt;p&gt;最简单当然是用PE系统盘了。&lt;/p&gt;
&lt;p&gt;此方法乃网上所搜，本人并未实践！&lt;/p&gt;</content:encoded><wfw:commentRss>http://www.babaniu.com/?feed=rss2&amp;p=25</wfw:commentRss><description>朋友在西宁做生意，打电话来说winxp密码忘记了，问我有没有办法。
虽然平时以电脑高手自吹，其实电脑水平不过尔尔，好在现在有网络，马上上网查！
网友们的方法好多，可最简单的也要弄个启动盘，朋友是个菜鸟，身边哪有这玩意儿，只好作罢，明天搬电脑公司去吧。
现将这个最简单的方法记下，以后也许用得着
原理：将系统中账户信息文件替换成原始文件
假设系统装在C盘
 账户信息文件：C:\WINDOWS\system32\config\sam
原始文件：C:\WINDOWS\repair\sam
操作：将C:\WINDOWS\repair\sam复制到 C:\WINDOWS\system32\config\ 替换掉原有sam文件
方式有好多种：
1、用带PE系统的光盘启动，在PE系统的图形界面下替换个文件应该很容易，然后拿出光盘重启电脑后就可以不用密码直接登陆了
2、将系统所在的硬盘拆下，接到其它正常电脑，从正常电脑登陆后，进行上面据说的文件替换
3、用Dos光盘/软盘/Usp盘启动，在dos下用命令替换（如果系统所在硬盘是ntfs格式，要再装一个dos读ntfs软件才可以对目标文件进行操作）
最简单当然是用PE系统盘了。
此方法乃网上所搜，本人并未实践！</description><category>WinXP</category><category>登陆密码</category><category>电脑知识</category><pubDate>Sat, 19 Jul 2008 21:28:31 +0800</pubDate><author>admin</author><comments>http://www.babaniu.com/?p=25#comments</comments><guid isPermaLink="false">http://www.babaniu.com/?p=25</guid><dc:creator>admin</dc:creator><fs:srclink>http://www.babaniu.com/?p=25</fs:srclink><fs:srcfeed>http://www.babaniu.com/?feed=rss2</fs:srcfeed><fs:itemid>feedsky/babaniu/~7053786/107450089/5161782</fs:itemid></item><item><title>Discuz通行证（Discuz! Passport）整合时错误提示详解</title><link>http://item.feedsky.com/~feedsky/babaniu/~7053786/107450090/5161782/1/item.html</link><content:encoded>&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Illegal request&lt;/p&gt;
&lt;p&gt;非法请求，当验证字串 verify 不匹配时会产生此提示。可能是应用程序与 Discuz! 配置的私有密匙不同，或是通过 URL 传递前，未将必要的参数（如 auth、forward 等）进行 URL 编码，也有可能是使用了经过 URL 编码的参数值用来计算 verify 的 md5 值造成。以 PHP 语言为例，正确的代码应当是类似于的如下的格式：&lt;/p&gt;
&lt;p&gt;$action = &amp;#8216;login&amp;#8217;;&lt;br /&gt;
$auth = passport_encrypt(passport_encode($autharray), $passport_key);&lt;br /&gt;
$forward = &amp;#8216;http://www.discuz.net/index.php&amp;#8217;;&lt;br /&gt;
$verify = md5($action.$auth.$forward.$passport_key);&lt;/p&gt;
&lt;p&gt;header(&amp;#8221;Location: &lt;a href=&quot;http://www.discuz.net/api/passport.php&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;color: #729773;&quot;&gt;http://www.discuz.net/api/passport.php&lt;/span&gt;&lt;/a&gt;&amp;#8220;.&lt;br /&gt;
&amp;#8220;?action=$action&amp;#8221;.&lt;br /&gt;
&amp;#8220;&amp;amp;auth=&amp;#8221;.rawurlencode($auth).&lt;br /&gt;
&amp;#8220;&amp;amp;forward=&amp;#8221;.rawurlencode($forward).&lt;br /&gt;
&amp;#8220;&amp;amp;verify=$verify&amp;#8221;);&lt;/p&gt;
&lt;p&gt;Lack of required parameters&lt;/p&gt;
&lt;p&gt;auth 内容解密后，缺少必要的信息 time、username、password、email。&lt;/p&gt;
&lt;p&gt;Request expired&lt;/p&gt;
&lt;p&gt;请求过期。当前服务器时间与应用程序提交过来的 time 之差大于 Discuz! Passport 中设置的请求有效期。可能是使用以往的代码非法尝试，也可能是由于应用程序和 Discuz! 论坛所在的两台服务器，时间设置有误造成。&lt;/p&gt;
&lt;p&gt;Invalid action&lt;/p&gt;
&lt;p&gt;没有指定 Passport 所执行的 action。&lt;/p&gt;</content:encoded><wfw:commentRss>http://www.babaniu.com/?feed=rss2&amp;p=24</wfw:commentRss><description> 
Illegal request
非法请求，当验证字串 verify 不匹配时会产生此提示。可能是应用程序与 Discuz! 配置的私有密匙不同，或是通过 URL 传递前，未将必要的参数（如 auth、forward 等）进行 URL 编码，也有可能是使用了经过 URL 编码的参数值用来计算 verify 的 md5 值造成。以 PHP 语言为例，正确的代码应当是类似于的如下的格式：
$action = &amp;#8216;login&amp;#8217;;
$auth = passport_encrypt(passport_encode($autharray), $passport_key);
$forward = &amp;#8216;http://www.discuz.net/index.php&amp;#8217;;
$verify = md5($action.$auth.$forward.$passport_key);
header(&amp;#8221;Location: http://www.discuz.net/api/passport.php&amp;#8220;.
&amp;#8220;?action=$action&amp;#8221;.
&amp;#8220;&amp;#38;auth=&amp;#8221;.rawurlencode($auth).
&amp;#8220;&amp;#38;forward=&amp;#8221;.rawurlencode($forward).
&amp;#8220;&amp;#38;verify=$verify&amp;#8221;);
Lack of required parameters
auth 内容解密后，缺少必要的信息 time、username、password、email。
Request expired
请求过期。当前服务器时间与应用程序提交过来的 time 之差大于 Discuz! Passport 中设置的请求有效期。可能是使用以往的代码非法尝试，也可能是由于应用程序和 Discuz! 论坛所在的两台服务器，时间设置有误造成。
Invalid action
没有指定 Passport 所执行的 action。</description><category>错误</category><category>通行证</category><category>Discuz!</category><category>未分类</category><category>整合</category><pubDate>Thu, 17 Jul 2008 23:43:13 +0800</pubDate><author>admin</author><comments>http://www.babaniu.com/?p=24#comments</comments><guid isPermaLink="false">http://www.babaniu.com/?p=24</guid><dc:creator>admin</dc:creator><fs:srclink>http://www.babaniu.com/?p=24</fs:srclink><fs:srcfeed>http://www.babaniu.com/?feed=rss2</fs:srcfeed><fs:itemid>feedsky/babaniu/~7053786/107450090/5161782</fs:itemid></item><item><title>在行进时，也时时有人退伍，有人落荒，有人颓唐，有人叛变，然而只要无碍于进行，则越到后来，这队伍也就越成为纯粹、精锐的队伍了。</title><link>http://item.feedsky.com/~feedsky/babaniu/~7053786/107450091/5161782/1/item.html</link><content:encoded>&lt;p&gt;如题，好象是鲁迅说过的。&lt;/p&gt;</content:encoded><wfw:commentRss>http://www.babaniu.com/?feed=rss2&amp;p=23</wfw:commentRss><description>如题，好象是鲁迅说过的。</description><category>鲁迅</category><category>未分类</category><pubDate>Thu, 17 Jul 2008 22:44:44 +0800</pubDate><author>admin</author><comments>http://www.babaniu.com/?p=23#comments</comments><guid isPermaLink="false">http://www.babaniu.com/?p=23</guid><dc:creator>admin</dc:creator><fs:srclink>http://www.babaniu.com/?p=23</fs:srclink><fs:srcfeed>http://www.babaniu.com/?feed=rss2</fs:srcfeed><fs:itemid>feedsky/babaniu/~7053786/107450091/5161782</fs:itemid></item><item><title>Discuz!论坛数据库备份恢复两种方法</title><link>http://item.feedsky.com/~feedsky/babaniu/~7053786/107450092/5161782/1/item.html</link><content:encoded>&lt;p&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;一：通过Discuz!内置备份功能保存数据库&lt;br /&gt;
&lt;/span&gt;安装并运行Discuz!论坛一段时间后我们可以通过其后台的备份功能保存数据库文件。&lt;br /&gt;
第一步：用管理员权限登录论坛，在首页点右上角的“系统设置”进入后台管理界面。&lt;/p&gt;
&lt;p&gt;第二步：后台管理界面中我们在左侧找到“数据库-&amp;gt;资料备份”。然后你会看到“数据备份类型”选项，一般我们保持默认的“标准备份”即可，他将备份包括常用的数据表在内的数据信息。如果是选择“全部备份”则保存全部论坛数据表内容，“最小备份”则是保存包括用户，板块设置及系统设置在内的数据，另外如果我们对数据库并不是十分了解的话，不建议大家通过“自定义备份”来设置。&lt;/p&gt;
&lt;p&gt;在我们进行数据库备份类型设置时即使选择了全部备份也应该注意一点，那就是这样备份的信息里是不包括模板文件和附件文件的。模板和附件还有用户自定义头像等信息的备份只能通过FTP下载./templates，./attachments，./customavatars这些目录里的内容人工备份。当然如果你是对服务器自身操作也需要把这些目录内容复制到其他地方。&lt;br /&gt;
第三步：接下来是设置“数据备份方式”，我们保持默认值“Discuz!分卷备份-文件长度限制为2048Kb”即可。&lt;br /&gt;
第四步：“数据备份选项”中大部分信息保持默认即可，在备份文件名处可以输入我们要备份的数据库保存文件名称，当然默认会根据保存日期随机起一个名字，这个名称我们也是可以修改的。&lt;/p&gt;
&lt;p&gt;第五步：点“提交”按钮开始备份数据库，很快就能看到Discuz!的提示——“恭喜您，全部一个备份文件成功创建，备份完成”。&lt;/p&gt;
&lt;p&gt;第六步：我们用鼠标左键点下面那个数据库文件链接将查看该数据库文件的内容，如果懂得数据库语言的用户可以通过此文件了解自己论坛的一些基本信息。把这些文件复制下来保存成一个以后缀名sql为结尾的文件就实现了备份工作。&lt;/p&gt;
&lt;p&gt;第七步：当然我们直接用鼠标右键点第五步显示的数据库文件链接，并且选择“另存为”可以将这个数据库文件保存到本地硬盘。&lt;/p&gt;
&lt;p&gt;如果我们把论坛建立在自己的服务器或主机上的话可以到Discuz!安装目录中的forumdata目录找到刚刚备份的.sql文件，直接将他进行保存即可。&lt;/p&gt;
&lt;p&gt;当然如果是远程虚拟主机的话就需要通过FTP登录工具访问Discuz!所在目录里的forumdate目录下载对应的.sql文件。&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;二：通过PHPMYADMIN备份数据库&lt;br /&gt;
&lt;/span&gt;一般来说专业的正规的备份MYSQL数据库的方法是通过PHPMYADMIN这个工具，下载最新版本的PHPMYADMIN后将他解压缩到网站发布文件夹中，例如www目录是发布目录，那么就把phpmyadmin解压缩到此目录中。接下来我们通过&lt;a href=&quot;http://ip&quot;&gt;http://ip&lt;/a&gt;地址/phpmyadmin来访问PHPMYADMIN管理程序。&lt;br /&gt;
如果是虚拟主机的话也可以直接把PHPMYADMIN程序上传到虚拟空间中，访问PHPMYADMIN的方法和上面介绍的一样。&lt;br /&gt;
第一步：登录PHPMYADMIN管理界面后选择“导出”。&lt;/p&gt;
&lt;p&gt;第二步：在数据库导出界面中我们能看到当前系统中存在的数据库名，例如笔者的数据库有两个，一个名字是mysql，另一个名字是pacino。在安装Discuz!时会要求我们输入数据库名，当初添写的是pacino，所以现在也应该备份此数据库。在备份类型处选择默认的SQL即可，这样保存的文件格式是SQL，也是应用最多兼容性最强的格式。&lt;/p&gt;
&lt;p&gt;第三步：在数据库导出界面的下方是设置数据库文件保存方式，我们勾选“另存为文件”，压缩方式选择ZIP压缩。最后点右小角的“执行”按钮即可。&lt;/p&gt;
&lt;p&gt;第四步：之后会出现保存文件的提示窗口，由于刚才我们选择了保存类型为zip格式，所以这里将自动储存为localhost.sql.zip压缩文件。当然我们解压缩此文件就能看到里头的.sql文件内容。&lt;/p&gt;
&lt;p&gt;不管我们是在安装有Discuz!服务器上进行操作还是在虚拟主机上都可以通过PHPMYADMIN来完成数据库的备份工作，保存下来的sql文件是关键，要把他放到一个可靠的地方，为日后恢复备份数据做准备。&lt;br /&gt;
四，通过PHPMYADMIN程序恢复数据库：&lt;br /&gt;
前面我们介绍了通过PHPMYADMIN备份保存数据库，实际上我们也可以通过此方法恢复已经备份好的数据库。需要注意一点的是数据库名称一定相符。&lt;br /&gt;
第一步：当我们需要把以前备份的数据库进行恢复时，在建立Discuz!论坛时设置数据库名称处要特别注意，添写的应该和备份数据库的名称一样。例如笔者保存的数据库名称为pacino，那么在建立Discuz!论坛设置数据库名称时也要输入pacino为数据库名，而用户名和密码等信息也应该尽量相同。&lt;/p&gt;
&lt;p&gt;第二步：这样通过第一步我们为Discuz!建立了一个和我们保存的数据库名称一样的空数据库。接下来我们通过地址访问phpmyadmin，点主页下方的import进行导入数据库操作。&lt;/p&gt;
&lt;p&gt;第三步：在import导入界面的file to import处通过旁边的浏览按钮找到我们以前通过phpmyadmin备份的数据库文件，记住一定要是ZIP格式的，这也是为什么在备份时笔者告诉大家选择ZIP压缩格式进行保存的原因。其他设置保持默认即可。最后点“执行”按钮。&lt;/p&gt;
&lt;p&gt;第四步：当在import导入界面中出现“import has been successfully finished,144 queries executed.”的提示就说明我们的数据库已经成功导入到论坛中。&lt;/p&gt;
&lt;p&gt;第五步：再次通过phpmyadmin查看pacino数据库时就会发现该数据库已经不是空的了，里头有几十个表，每个表里头都有相应的信息与数据。&lt;/p&gt;
&lt;p&gt;五，通过Discuz!自身功能恢复数据&lt;br /&gt;
前面我们介绍了通过Discuz!自身的备份数据库功能来保存数据库，实际上我们也可以通过论坛自身的恢复数据库功能将保存的数据库导入到论坛中。&lt;br /&gt;
第一步：用管理员权限登录论坛并进入后台管理界面，点“数据库-&amp;gt;资料恢复”。&lt;/p&gt;
&lt;p&gt;第二步：在数据恢复设置中选择“从本地文件”进行恢复，然后通过右边的“浏览”按钮找到之前保存下来的.sql文件。&lt;/p&gt;
&lt;p&gt;第三步：点“提交”按钮后将出现询问“分卷数据成功导入数据库，您需要自动导入本次其他的悲愤吗？”一般我们继续点“确定”按钮即可。之后我们的数据库文件就完全导入到当前论坛了。论坛会出现再次要求你输入管理员帐号的提示。访问论坛地址时你也会看到所有信息都恢复到备份数据库时的内容了。&lt;/p&gt;
&lt;p&gt;不管我们采取哪种方式备份和恢复数据库，一定要注意备份和恢复时使用的Discuz!论坛版本要相同，甚至是语言种类也要一致，否则会存在乱码的问题。&lt;/p&gt;
&lt;p&gt;原文地址：&lt;a href=&quot;http://www.discuz.net/viewthread.php?tid=383649&amp;amp;highlight=%B1%B8%B7%DD%&quot;&gt;http://www.discuz.net/viewthread.php?tid=383649&amp;amp;highlight=%B1%B8%B7%DD%&lt;/a&gt;&lt;/p&gt;</content:encoded><wfw:commentRss>http://www.babaniu.com/?feed=rss2&amp;p=21</wfw:commentRss><description>一：通过Discuz!内置备份功能保存数据库
安装并运行Discuz!论坛一段时间后我们可以通过其后台的备份功能保存数据库文件。
第一步：用管理员权限登录论坛，在首页点右上角的“系统设置”进入后台管理界面。
第二步：后台管理界面中我们在左侧找到“数据库-&amp;#62;资料备份”。然后你会看到“数据备份类型”选项，一般我们保持默认的“标准备份”即可，他将备份包括常用的数据表在内的数据信息。如果是选择“全部备份”则保存全部论坛数据表内容，“最小备份”则是保存包括用户，板块设置及系统设置在内的数据，另外如果我们对数据库并不是十分了解的话，不建议大家通过“自定义备份”来设置。
在我们进行数据库备份类型设置时即使选择了全部备份也应该注意一点，那就是这样备份的信息里是不包括模板文件和附件文件的。模板和附件还有用户自定义头像等信息的备份只能通过FTP下载./templates，./attachments，./customavatars这些目录里的内容人工备份。当然如果你是对服务器自身操作也需要把这些目录内容复制到其他地方。
第三步：接下来是设置“数据备份方式”，我们保持默认值“Discuz!分卷备份-文件长度限制为2048Kb”即可。
第四步：“数据备份选项”中大部分信息保持默认即可，在备份文件名处可以输入我们要备份的数据库保存文件名称，当然默认会根据保存日期随机起一个名字，这个名称我们也是可以修改的。
第五步：点“提交”按钮开始备份数据库，很快就能看到Discuz!的提示——“恭喜您，全部一个备份文件成功创建，备份完成”。
第六步：我们用鼠标左键点下面那个数据库文件链接将查看该数据库文件的内容，如果懂得数据库语言的用户可以通过此文件了解自己论坛的一些基本信息。把这些文件复制下来保存成一个以后缀名sql为结尾的文件就实现了备份工作。
第七步：当然我们直接用鼠标右键点第五步显示的数据库文件链接，并且选择“另存为”可以将这个数据库文件保存到本地硬盘。
如果我们把论坛建立在自己的服务器或主机上的话可以到Discuz!安装目录中的forumdata目录找到刚刚备份的.sql文件，直接将他进行保存即可。
当然如果是远程虚拟主机的话就需要通过FTP登录工具访问Discuz!所在目录里的forumdate目录下载对应的.sql文件。
二：通过PHPMYADMIN备份数据库
一般来说专业的正规的备份MYSQL数据库的方法是通过PHPMYADMIN这个工具，下载最新版本的PHPMYADMIN后将他解压缩到网站发布文件夹中，例如www目录是发布目录，那么就把phpmyadmin解压缩到此目录中。接下来我们通过http://ip地址/phpmyadmin来访问PHPMYADMIN管理程序。
如果是虚拟主机的话也可以直接把PHPMYADMIN程序上传到虚拟空间中，访问PHPMYADMIN的方法和上面介绍的一样。
第一步：登录PHPMYADMIN管理界面后选择“导出”。
第二步：在数据库导出界面中我们能看到当前系统中存在的数据库名，例如笔者的数据库有两个，一个名字是mysql，另一个名字是pacino。在安装Discuz!时会要求我们输入数据库名，当初添写的是pacino，所以现在也应该备份此数据库。在备份类型处选择默认的SQL即可，这样保存的文件格式是SQL，也是应用最多兼容性最强的格式。
第三步：在数据库导出界面的下方是设置数据库文件保存方式，我们勾选“另存为文件”，压缩方式选择ZIP压缩。最后点右小角的“执行”按钮即可。
第四步：之后会出现保存文件的提示窗口，由于刚才我们选择了保存类型为zip格式，所以这里将自动储存为localhost.sql.zip压缩文件。当然我们解压缩此文件就能看到里头的.sql文件内容。
不管我们是在安装有Discuz!服务器上进行操作还是在虚拟主机上都可以通过PHPMYADMIN来完成数据库的备份工作，保存下来的sql文件是关键，要把他放到一个可靠的地方，为日后恢复备份数据做准备。
四，通过PHPMYADMIN程序恢复数据库：
前面我们介绍了通过PHPMYADMIN备份保存数据库，实际上我们也可以通过此方法恢复已经备份好的数据库。需要注意一点的是数据库名称一定相符。
第一步：当我们需要把以前备份的数据库进行恢复时，在建立Discuz!论坛时设置数据库名称处要特别注意，添写的应该和备份数据库的名称一样。例如笔者保存的数据库名称为pacino，那么在建立Discuz!论坛设置数据库名称时也要输入pacino为数据库名，而用户名和密码等信息也应该尽量相同。
第二步：这样通过第一步我们为Discuz!建立了一个和我们保存的数据库名称一样的空数据库。接下来我们通过地址访问phpmyadmin，点主页下方的import进行导入数据库操作。
第三步：在import导入界面的file to import处通过旁边的浏览按钮找到我们以前通过phpmyadmin备份的数据库文件，记住一定要是ZIP格式的，这也是为什么在备份时笔者告诉大家选择ZIP压缩格式进行保存的原因。其他设置保持默认即可。最后点“执行”按钮。
第四步：当在import导入界面中出现“import has been successfully finished,144 queries executed.”的提示就说明我们的数据库已经成功导入到论坛中。
第五步：再次通过phpmyadmin查看pacino数据库时就会发现该数据库已经不是空的了，里头有几十个表，每个表里头都有相应的信息与数据。
五，通过Discuz!自身功能恢复数据
前面我们介绍了通过Discuz!自身的备份数据库功能来保存数据库，实际上我们也可以通过论坛自身的恢复数据库功能将保存的数据库导入到论坛中。
第一步：用管理员权限登录论坛并进入后台管理界面，点“数据库-&amp;#62;资料恢复”。
第二步：在数据恢复设置中选择“从本地文件”进行恢复，然后通过右边的“浏览”按钮找到之前保存下来的.sql文件。
第三步：点“提交”按钮后将出现询问“分卷数据成功导入数据库，您需要自动导入本次其他的悲愤吗？”一般我们继续点“确定”按钮即可。之后我们的数据库文件就完全导入到当前论坛了。论坛会出现再次要求你输入管理员帐号的提示。访问论坛地址时你也会看到所有信息都恢复到备份数据库时的内容了。
不管我们采取哪种方式备份和恢复数据库，一定要注意备份和恢复时使用的Discuz!论坛版本要相同，甚至是语言种类也要一致，否则会存在乱码的问题。
原文地址：http://www.discuz.net/viewthread.php?tid=383649&amp;#38;highlight=%B1%B8%B7%DD%</description><category>恢复</category><category>数据库相关</category><category>文摘</category><category>Discuz!</category><category>备份</category><category>数据库</category><pubDate>Tue, 15 Jul 2008 23:38:34 +0800</pubDate><author>admin</author><comments>http://www.babaniu.com/?p=21#comments</comments><guid isPermaLink="false">http://www.babaniu.com/?p=21</guid><dc:creator>admin</dc:creator><fs:srclink>http://www.babaniu.com/?p=21</fs:srclink><fs:srcfeed>http://www.babaniu.com/?feed=rss2</fs:srcfeed><fs:itemid>feedsky/babaniu/~7053786/107450092/5161782</fs:itemid></item><item><title>在服务器上用批处理（bat）备份MYSQL的方法</title><link>http://item.feedsky.com/~feedsky/babaniu/~7053786/107450093/5161782/1/item.html</link><content:encoded>&lt;p&gt;不是以&lt;span class=&quot;t_tag&quot; onclick=&quot;tagshow(event)&quot;&gt;mysql&lt;/span&gt;dump来备份的，因为是要备份&lt;span class=&quot;t_tag&quot; onclick=&quot;tagshow(event)&quot;&gt;服务器&lt;/span&gt;上的ＭＹＳＱＬ&lt;span class=&quot;t_tag&quot; onclick=&quot;tagshow(event)&quot;&gt;数据库&lt;/span&gt;，只要用直接拷贝ＤＡＴＡ下的所有&lt;span class=&quot;t_tag&quot; onclick=&quot;tagshow(event)&quot;&gt;文件&lt;/span&gt;即可。&lt;/p&gt;
&lt;p&gt;ＭＹＳＱＬ装在E:\&lt;span class=&quot;t_tag&quot; onclick=&quot;tagshow(event)&quot;&gt;PHP&lt;/span&gt;setup\mysql\data，备份文件放D:\beifen\1；D:\beifen\2；D:\beifen\3;D:\beifen\4;D:\beifen\5;D:\beifen\6;D:\beifen\7，按照一个星期七天来设定的。&lt;/p&gt;
&lt;p&gt;把deltree拷入c:\windows&lt;span class=&quot;t_tag&quot; onclick=&quot;tagshow(event)&quot;&gt;目录&lt;/span&gt;，把如下内容放入1.bat&lt;/p&gt;
&lt;p&gt;net stop mysql&lt;br /&gt;
net stop w3svc&lt;br /&gt;
net stop iisadmin /y&lt;br /&gt;
deltree /y D:\beifen\1\.&lt;br /&gt;
xcopy /e E:\PHPsetup\mysql\data D:\beifen\1&lt;br /&gt;
net start w3svc&lt;br /&gt;
net start mysql&lt;/p&gt;
&lt;p&gt;意思为：&lt;br /&gt;
1、停止mysql服务&lt;br /&gt;
2、停止IIS服务&lt;br /&gt;
3、&lt;span class=&quot;t_tag&quot; onclick=&quot;tagshow(event)&quot;&gt;删除&lt;/span&gt;D:\beifen\1\目录下所有内容，然后把E:\PHPsetup\mysql\data目录下的内容全部拷贝入 D:\beifen\1目录，以达到备份&lt;span class=&quot;t_tag&quot; onclick=&quot;tagshow(event)&quot;&gt;数据&lt;/span&gt;库的目的（要恢复时，只要把 D:\beifen\1下的内容拷回E:\PHPsetup\mysql\data目录即可）。&lt;br /&gt;
4、启动IIS服务&lt;br /&gt;
5、启动mysql服务&lt;/p&gt;
&lt;p&gt;然后把1.bat加到任务计划里即可，设定时间为每星期一的3:00，这时较闲。&lt;br /&gt;
把2.bat加到任务计划里即可，设定时间为每星期二的3:00，以此类推！&lt;/p&gt;
&lt;p&gt;如果不停止mysql iis服务的话，有时会出现文件正在被使用，拷贝不了的情况。&lt;/p&gt;
&lt;p&gt;附件：&lt;a href=&quot;http://www.babaniu.com/wp-content/uploads/2008/07/beifen_mysql.rar&quot;&gt;beifen_mysql&lt;/a&gt;&lt;/p&gt;
&lt;div class=&quot;t_msgfont&quot;&gt;改进&amp;#8230;&lt;/div&gt;
&lt;div class=&quot;t_msgfont&quot;&gt;改用winrar进行压缩打包，具体如下：&lt;/div&gt;
&lt;p&gt;把xcopy命令改为winrar打包命令，修改如下：&lt;/p&gt;
&lt;p&gt;net stop mysql&lt;br /&gt;
net stop w3svc&lt;br /&gt;
net stop iisadmin /y&lt;br /&gt;
deltree /y D:\beifen\1\.&lt;br /&gt;
E:\Progra~1\WinRAR\winrar a -y D:\beifen\1\mysql.rar E:\PHPsetup\mysql\data&lt;br /&gt;
net start w3svc&lt;br /&gt;
net start mysql&lt;/p&gt;
&lt;p&gt;在使用winrar时需打出具体路径，或在运行它之前用path指定出winrar所在的路径即可。&lt;/p&gt;
&lt;p&gt;对比压缩包和源文件，小了好多&lt;/p&gt;
&lt;div class=&quot;t_msgfont&quot;&gt;改进&amp;#8230;&lt;/div&gt;
&lt;div class=&quot;t_msgfont&quot;&gt;经过改进，我把完整文件发上来，附件下载后连beifen子目录直接解压到D盘的根目录，不需要再创建备份目录，命令行如下：&lt;/div&gt;
&lt;p&gt;net stop mysql&lt;br /&gt;
net stop w3svc&lt;br /&gt;
net stop iisadmin /y&lt;br /&gt;
deltree /y D:\beifen\1&lt;br /&gt;
md D:\beifen\1&lt;br /&gt;
E:\Progra~1\WinRAR\winrar a -y D:\beifen\1\mysql.rar D:\PHPsetup\mysql\data&lt;br /&gt;
net start mysql&lt;br /&gt;
net start w3svc&lt;br /&gt;
net start iisadmin&lt;/p&gt;
&lt;p&gt;deltree改用直接删除D:\beifen\1目录，加快了删除目录的执行，然后再创建目录，所以，第一次在做的时候不用手动创建D:\beifen\1这个目录&lt;br /&gt;
我测试了下我的服务器174M的数据库压缩为27M，节省了好多磁盘空间。&lt;/p&gt;
&lt;p&gt;计划任务一次性添加，执行以下批处理即可。&lt;/p&gt;
&lt;p&gt;at 3:00 /every:M d:\beifen\1.bat&lt;br /&gt;
at 3:00 /every:T d:\beifen\2.bat&lt;br /&gt;
at 3:00 /every:W d:\beifen\3.bat&lt;br /&gt;
at 3:00 /every:Th d:\beifen\4.bat&lt;br /&gt;
at 3:00 /every:F d:\beifen\5.bat&lt;br /&gt;
at 3:00 /every:S d:\beifen\6.bat&lt;br /&gt;
at 3:00 /every:Su d:\beifen\7.bat&lt;/p&gt;
&lt;p&gt;附件：&lt;a href=&quot;http://www.babaniu.com/wp-content/uploads/2008/07/beifen.rar&quot;&gt;beifen&lt;/a&gt;&lt;/p&gt;
&lt;div class=&quot;t_msgfont&quot;&gt;原文地址：&lt;a href=&quot;http://www.discuz.net/thread-746474-1-1.html&quot;&gt;http://www.discuz.net/thread-746474-1-1.html&lt;/a&gt;&lt;/div&gt;</content:encoded><wfw:commentRss>http://www.babaniu.com/?feed=rss2&amp;p=18</wfw:commentRss><description>不是以mysqldump来备份的，因为是要备份服务器上的ＭＹＳＱＬ数据库，只要用直接拷贝ＤＡＴＡ下的所有文件即可。
ＭＹＳＱＬ装在E:\PHPsetup\mysql\data，备份文件放D:\beifen\1；D:\beifen\2；D:\beifen\3;D:\beifen\4;D:\beifen\5;D:\beifen\6;D:\beifen\7，按照一个星期七天来设定的。
把deltree拷入c:\windows目录，把如下内容放入1.bat
net stop mysql
net stop w3svc
net stop iisadmin /y
deltree /y D:\beifen\1\.
xcopy /e E:\PHPsetup\mysql\data D:\beifen\1
net start w3svc
net start mysql
意思为：
1、停止mysql服务
2、停止IIS服务
3、删除D:\beifen\1\目录下所有内容，然后把E:\PHPsetup\mysql\data目录下的内容全部拷贝入 D:\beifen\1目录，以达到备份数据库的目的（要恢复时，只要把 D:\beifen\1下的内容拷回E:\PHPsetup\mysql\data目录即可）。
4、启动IIS服务
5、启动mysql服务
然后把1.bat加到任务计划里即可，设定时间为每星期一的3:00，这时较闲。
把2.bat加到任务计划里即可，设定时间为每星期二的3:00，以此类推！
如果不停止mysql iis服务的话，有时会出现文件正在被使用，拷贝不了的情况。
附件：beifen_mysql
改进&amp;#8230;
改用winrar进行压缩打包，具体如下：
把xcopy命令改为winrar打包命令，修改如下：
net stop mysql
net stop w3svc
net stop iisadmin /y
deltree /y D:\beifen\1\.
E:\Progra~1\WinRAR\winrar a -y D:\beifen\1\mysql.rar E:\PHPsetup\mysql\data
net start w3svc
net start mysql
在使用winrar时需打出具体路径，或在运行它之前用path指定出winrar所在的路径即可。
对比压缩包和源文件，小了好多
改进&amp;#8230;
经过改进，我把完整文件发上来，附件下载后连beifen子目录直接解压到D盘的根目录，不需要再创建备份目录，命令行如下：
net stop mysql
net stop w3svc
net stop iisadmin /y
deltree /y D:\beifen\1
md D:\beifen\1
E:\Progra~1\WinRAR\winrar a -y D:\beifen\1\mysql.rar D:\PHPsetup\mysql\data
net start mysql
net start w3svc
net [...]</description><category>数据库相关</category><category>mysql</category><category>文摘</category><category>批处理</category><category>备份</category><pubDate>Tue, 15 Jul 2008 23:02:55 +0800</pubDate><author>admin</author><comments>http://www.babaniu.com/?p=18#comments</comments><guid isPermaLink="false">http://www.babaniu.com/?p=18</guid><dc:creator>admin</dc:creator><fs:srclink>http://www.babaniu.com/?p=18</fs:srclink><fs:srcfeed>http://www.babaniu.com/?feed=rss2</fs:srcfeed><fs:itemid>feedsky/babaniu/~7053786/107450093/5161782</fs:itemid></item></channel></rss>
