解决win7/8无法上网偏方

昨天安装卸载了几个软件,后来准备上QQ时发现无法登录,其它上网一切正常,故不以为然。谁知今天早上一开机,发现无法上网了。

先说一下系统及网络环境:win7专业版,局域网通过路由上网,路由开了防火墙,平时上网是需要先登录认证的。

今天的情况是打开浏览器随便访问个网址,并没有跳转到登录页面,而是直接就是无法显示。开始以为是网络配置问题,修改了自动获取IP(本来是手动指定)依然不起效。ping一下网关是通的,局域网其它电脑也可以正常访问,看了问题还比较奇怪。

尝试了更新网卡驱动程序,修改网卡地址之后依然不能上网。此时发现开启自动启动的mysql服务居然没有正常启动,查看了一下日志

140326 9:54:16 [ERROR] Fails to print out IP-address.
140326 9:54:16 [ERROR] Failed to create a socket for IPv4 ”: errno: 10106.
140326 9:54:16 [ERROR] Can’t create IP socket: No such file or directory
140326 9:54:16 [ERROR] Aborting

应该是与网络有关,apache服务器也无法正常启动,真是怪了,又把昨天安装的软件都卸载了,重启电脑还是不行。

折腾了许久都不成功,猛然想起之前另外一台电脑(win8系统)也遇到过比较奇怪的上网问题–只有IE浏览器能上网,其它都不能访问网络,后来发现是winsock在作怪,今天是不是同样的原因呢?于是飞尘马上来尝试一下,打开命令行输入

netsh winsock reset

根据提示,重启电脑,打开浏览器,终于能够正常上网了。

如果小伙伴们按照常规的方式都不能解决无法上网的问题时,可以试一试这一条,也许管用。顺便啰嗦一句,那个360的修复断网试过了不起作用。

解决未知usb设备(端口重置失败)

前段时间将封存了许久的数码相框翻出来,看到盒子里有根usb线,就拿出来接在笔记本上,弄了半天也没识别出来,于是将线拔掉了。意想不到的事情就发生了,电脑(win8.1系统)右下角提示无法识别的usb设备,然后,然后,然后无线鼠标(罗技的)就不能用了。将鼠标重新连接,问题依旧。于是各种搜索引擎查询,各种方法尝试,系统也重启了几次均未能解决问题,真是愁煞某人了。

后来忘记在哪里看到篇文章受到启发,将设备管理器中的“通用串行总线控制器”下的所有项目(设备)卸载(删除),将无线鼠标拔下,重启电脑,电脑会自动安装这些usb设备,重新插上无线鼠标,系统自动安装驱动,稍等片刻之后,动动鼠标,指针终于如愿以偿的随着动起来了。

当时虽然问题解决了,可是手懒就没有记录下来,谁知今天又遇到了这个恼人的问题。这次是插了一下网银的盾,结果鼠标又不能用了。上次是怎么解决的怎么想都想不起了,又折腾了许久,同时绞尽脑汁的想啊想,后来尝试着又把usb设备删除重启,问题果然解决了。

这次长经验了,赶紧记录下来,免得下次又遇到同样的问题焦头烂额。

最后说几句,鼠标不能用了,想必小伙伴们操作起来一定很吃力,好在飞尘用的是笔记本,还有个触摸板可以控制鼠标,操作起来简单些。如果是台式电脑,小伙伴们就要全靠键盘了,多用tab键、回车键、退格键、删除键、方向键等,解决这个问题应该是没问题的。

jquery日历插件FullCalendar简介

FullCalendar是一款基于jquery的日历控件

简介

官方网站:
http://arshaw.com/fullcalendar/
英文文档:
http://arshaw.com/fullcalendar/docs/

中文翻译文档(虽然是2009年翻译的,不过文档变动不是很大,可以参考)
http://blog.csdn.net/lgg201/article/details/4818941

开源协议 – MIT
目前最新版本 – 1.6.3
发布日期 – 2013-08-10

使用方法
1. 下载压缩包fullcalendar-1.6.3.zip解压
2. 在html页面中导入资源

几点说明:
FullCalendar需要jquery,如果项目已经引入了jquery,此处不需要重复导入
如果要在日历中使用鼠标拖拽功能,需要导入jquery-ui
压缩包中包含的jquery-ui文件仅包含了jquery.ui.core.js, jquery.ui.widget.js, jquery.ui.mouse.js, jquery.ui.draggable.js, jquery.ui.resizable.js的功能;如果项目已经引入了包含以上功能的jquery-ui文件,此处不可重复导入,重复导入会造成jquery-ui的其它功能失效
3. 调用插件

配置日历表头

left、center、right参数对应页面表头三个位置(左、中、右),参数值多个之间可以使用逗号或者空格隔开,可选值范围如下:
title – 当前日期文本
prev – 向前翻按钮
next – 向后翻按钮
prevYear – 前一年按钮
nextYear – 后一年按钮
today – 今天按钮
month – 月视图
basicWeek – 周视图
basicDay – 日视图
agendaWeek – 带小时周视图
agendaDay – 带小时日视图

配置中文界面

日程对象event
日历中显示的日程事件
{
title: ‘some name’,
start: ‘2013-08-08’,
end: ‘2013-08-12’
}
基本参数说明
title – 事件名称,显示在日程中
start – 日程开始时间
end – 日程结束时间
其它参数
id
allDay
url
className
editable
startEditable
durationEditable
source
color
backgroundColor
borderColor
textColor
除此以外,可以根据功能需要在event对象中添加自定义的属性

显示日程

添加参数events: array/json string/function
可以为数组:

可以通过ajax加载json数据:

也可以是一个function:

添加日程
通过点击日历单元格,添加新日程

参数说明
date – 当前日期,在agendaWeek、agendaDay视图点击时包含时间
allDay – 在agendaWeek、agendaDay视图点击时为false,其它情况为true
jsEvent – 原生javascript事件
view – 当前视图对象

修改日程
点击当前显示的日程,修改日程

event参数为当前点击的日程

鼠标拖动改变日程时间范围
使用鼠标在页面上直接拖动改变日程时间范围,需要jquery-ui的拖拽功能,初始化时需配置参数editable为true来启用拖动功能。

参数说明
dayDelta – 保存了这次拖动导致该日程事件移动了多少天, 向前为正数, 向后为负数
minuteDelta – 保存了这次拖动导致该日程事件移动了多少分钟, 向前为正数, 向后为负数,该值只有在agenda view下有效
allDay – 如果在month view下移动, 或在agenda view下移动到all-day区域, 则allDay为true, 移动到agenda view的其他区域则为false
revertFunc – 调用该方法, 可以将刚才的拖动恢复到原状。这个方法多用于ajax的提交, 移动之后, 提交数据到后台, 如果后台更新失败, 根据返回消息, 调用这个方法, 可以使页面回复原状

参数与eventDrop回调类似,以下仅说明不同之处:
dayDelta – 保存了日程结束时间变化了多少天,向前为正数, 向后为负数
minuteDelta -保存了日程结束时间变化了多少分钟, 向前为正数, 向后为负数,该值只有在agenda view下有效,其它情况为0

鼠标划过选择一段日期
类似在资源管理器中选择多个文件的操作,使用鼠标在页面上选择一段日期进行操作,例如添加日程,需要配置selectable参数为true
在一个单元格上,鼠标划过选择事件select和鼠标点击单元格事件dayClick会被同时触发

参数说明
startDate – 开始日期
endDate – 结束日期,当allDay为true时,结束日期包含最后一天

演示demo
demo/calender.html

示例下载demo

扁平化设计-jquery插件实现卡片翻转效果

扁平化设计是越来越流行了,飞尘在开发中也小小的使用了一下。用到的是方块布局中很典型的卡片翻转效果,于是搜罗了一下,目前只测试使用了三个基于jquery的插件。

下面就个人的体会简单说明一下。

QuickFlip2

看了下文档,没有设置翻转后内容的参数,翻转的内容需要直接在容器内写好,如果只需要简单的翻转效果,用这个就够了。

官方网址:
http://jonraasch.com/blog/quickflip-2-jquery-plugin

Flip

基于翻转的效果,翻转时容器会被放大,可能导致原有页面布局出现混乱。

官方网址:
http://lab.smashup.it/flip/

Flippy

目前采用的方案,但是使用中发现有一点小小的不足,当设置翻转前后背景色不为白色时,翻转时的效果会对颜色进行渐变,但是翻转回来的效果没有对颜色进行反向渐变,导致翻转效果结束时背景色突变。

官方网址:
http://blog.guilhemmarty.com/flippy/

IE7元素ul嵌套ul边距bug

在web开发中,ul与li的组合经常会被使用到,配置好css可以实现很多种样式,例如导航菜单、新闻列表、图片列表等等,当然也不乏更为复杂的布局及展现形式。

飞尘最近在开发中就遇到了与一个ul相关的问题。布局大意就是两层ul的嵌套,外层ul及li用于竖排列表布局,基本上就是ul本身默认的布局形式;内层ul及li做横排浮动布局。从外观表现形式上来看,就是模仿了表格的布局形式。

下面说一下问题吧:在IE7浏览器下内层的ul始终无法充满外层ul,排除padding、margin等等之类属性的影响,内层换个div容器发现可以充满,于是就又遇到了IE7的一个存在已久的bug(此种经验最好还是不要累积了吧,愿历史的车轮早些将IE6 IE7 IE8收了吧,吾等阿弥陀佛)

牢骚归牢骚,问题总归得解决啊。原因找到了问题就不难解决,已经有无数的英雄前辈为我们指点迷津了:

1. 如果可以的话,那就给外层的li或者内层的ul加个宽度吧,100%也可以,但是要注意margin和padding哦。

2. 宽度不好加,就换个新鲜的,给IE吃点灵丹妙药,给外层的li或者内层的ul加个属性 zoom:1;

关于zoom属性,有温馨提示哦:
zoom是IE浏览器的私有属性,添加zoom属性,可以触发IE的hasLayout属性,还可以清除浮动、清除margin的重叠等。

javascript需要避免的一些变量

任何一门编程语言都有一些保留字,javascript也不例外,至于有哪些这里就不一一罗列了,随便搜索下就知道了,而且一般情况下我们也不会越雷池的。

不过在开发中遇到了一些比较奇怪的现象,最典型的情况就是明明给某个对象添加了某个方法,但是在调用时就是报错。

这里需要说明的是,定义变量的时候采用了合并的方式,就是说如果之前该变量已经定义过,此处就指向该变量,否则定义为空对象。

请看下面的例子:

拿这段代码在firebug中执行会看到

Error: Cannot modify properties of a WrappedNative

如果改为直接定义变量,则没有问题。

我们直接在firebug中查看sidebar,发现

[xpconnect wrapped (nsISupports, nsISidebar, nsISidebarExternal)] { QueryInterface=QueryInterface(), addPanel=addPanel(), addPersistentPanel=addPersistentPanel(), 更多…}

应该是浏览器使用了这个变量,看来我们只有绕道了。

似乎这样的变量还不止一两个,至于有多少,有没有列表飞尘真的是不晓得了,查了半天也没弄出个所以然来,看来只能靠大家慢慢搜集整理了,希望有一天可以发布一份变量冲突表,以飨读者。

变量名 IE Firefox Chrome
sidebar xpconnect wrapped
top object Window window window