onbeforeunload 是window的一个事件,目前Firefox,IE都支持,主要用来提示用户是否真的要离开该页面,通常在一些比较重要的数据提交之前,防止用户误操作导致数据丢失。典型的应用如gmail中,在写邮件的时候,如果刷新页面或者关闭页面,会出现提示。
但是在IE下点击一些a标签时,也会触发onbeforeunload事件。并且href中写javascript:void(0)也不行,而在Firefox中不会出现类似的情况。于是查资料对onbeforeunload事件重新认识了一下:
a标签触发事件的顺序
onclick、onbeforeunload跟href三者之间的先后运行关系是这样的:onclick > onbeforeunload > href,知道了这个道理,我们就可以通过一些方法阻止onbeforeunload。另外在IE浏览器中,假如href为#,那么也不会触发onbeforeunload事件。
继续阅读全文……
今天是Google map api的关于利用GControl和GLayer对象在地图上显示panoramio图片的教程,昨天我写了一篇Google map api的教程是关于在地图上添加控制按钮的(Google Map API教程之使用GControl对象在地图上添加control按钮),今天结合上篇文章,写一下怎么在地图上加一个可以显示panoramio的图片,使用的主要对象是GControl和GLayer对象。关于GControl对象的官方文档(请点这里),GLayer对象的官方文档(请点这里)
使用GLayer创建图片层对象
我们可以通过以下代码创建一个panoramio.com的图片层:
photoLayer=new GLayer("com.panoramio.all")
然后通过Gmap.addOverlay(photoLayer)添加这个层
谷歌地图的API支持的GLayer对象有谷歌webcam、panoramio、维基百科等,更多支持请点击查看:http://spreadsheets.google.com/pub?key=p9pdwsai2hDN-cAocTLhnag
继续阅读全文……
有这样一个笑话:2010年,一美国人到中国旅游,用10万美元兑换到68万人民币。在中国吃喝玩乐一年,花了18万人民币。2011年,他要回国去了,到银行去,因为人民币兑美元升值到1:5,这位美国人用剩下的50万人民币换到10万美元。来时10万美元,回去还是10万美元。他高高兴兴地回家了。
另一美国人效仿,也拿10万美元换了68万人民币,花50万买了套房,吃喝玩乐,花了18万,想回去了,房子不能带走只能卖掉,净得100万元,刚能换20万美元。美国人说我们玩,也是在挣钱。
以上纯属大话,虽然国际热钱在汇改5年来,一刻未停对中国股市、楼市乃至消费品市场的套利机会,但是未来人民币是个啥样的升值速度却很难预料。美国人玩也是赚钱,却还真不是吹的。
下面给你讲个真实的故事:
2006年初,美国人IRON夫妇调任中国通用汽车任职北京区高管,带进25万美元,按当时的汇率(8.0645)约合人民币200万元。因为合同5年,IRON夫妇为了住得更加舒适,在CBD核心区的新城国际买了一套100平米的精装修公寓,当时房价是18000元/平方米,加上各种税费合人民币190万元。
转眼5年合同期满,IRON夫妇准备回国,以430万元卖掉新城国际的房子,兑换回63万美元(2010年5月美元兑人民币最高点6.8276),整体获利1.52倍。来时25万,走时变成63万美元。还没包括在中国的5年工资收入、5年租房补贴,相当于在中国白住了5年。IRON夫妇自然是乐滋滋地回了美国 。
今天查看我网站的地图已经被谷歌收录了5900条,而百度也开始收录了,很欣慰~再接再厉,今天写的这一篇Google map api教程是关于在Google地图上添加control按钮的,用到的是Google Map API的GControl对象,通过initialize的方法插入一个div到地图上,再通过new GControlPosition设置按钮的位置,最后通过Gmap的addControl方法添加这个按钮。最终效果截图如下:

实现方法原理分析
首先建立一个GControl的原型control,然后定义其initialize 方法:主要是建立一个div,并且制定div的onclick事件,最后通过gmap.getContainer().appendChild(buttonDiv)插入到地图中去。
最后定义getDefaultPosition的方法,通过GControlPosition对象设置按钮所在地图的具体位置。
继续阅读全文……
最近花了两晚上的时间写了一个google地图的应用程序,采用了map api,weather api,localsearch api,我想的是有空写一些关于Google Map API的文章,今天就写一个关于自动缩放地图到合适级别的方法,这里说的自动缩放,指的是地图上已经加入了很多Gmarker点,而这些点任何地方都有,我们为了要它们在地图上能够都显示出来,必须要个Google Map设置一个合适的缩放级别和中心点,这里用的方法是Google Map API的GLatLngBounds。
假设我们创建的Google Map对象为gmap = new GMap2(),我们添加所有GMarker都保存在一个名字为markers的数组里,它们的点遍布各地,我们要做的就是要这些点都在地图上显示出来,也就是自动缩放地图(set auto zoom)。
继续阅读全文……
现在windows XP很难找到比较酷的屏保了~而Watery Desktop水纹3D屏保是继Aquarium 热带鱼水族箱屏保之后又一个超级漂亮的屏幕保护程序,并且Watery Desktop还完美的支持window7操作系统。安装Watery Desktop后,你就可以体验一下让你的电脑中的一切图形泡在水里的感觉,WateryDesktop可随机产生水纹、下雨、水浪等效果,而且那些效果都是那么的逼真。至于漂不漂亮,还是先上个图吧,有图有真相。
安装方法
解压文件后,对那个SCR文件右键选安装就ok。
或者手动把压缩包中的SCR文件复制到system32中,然后在桌面空白处右键→属性→屏幕保护程序。在里面找到那个屏保就可以进行设置。

Watery Desktop超酷3D水纹屏保
继续阅读全文……
腾讯微博,就不多说了,听说之前有人卖种子买到了500个大洋,太TMD变态了,本文实时更新,一有新的邀请就放上来,请想加入的童鞋收藏本文,想加入的同学速度点:
2010年6月25日最新种子:
http://t.qq.com/invite/1a8d6e313616a5236d8f
http://t.qq.com/invite/90827900e7d9eaef4899
http://t.qq.com/invite/0ecd1a7b122636d4cd01
http://t.qq.com/invite/196a367703883ce38df9
http://t.qq.com/invite/960f4709a6518da4131f
2010年6月26日最新种子:
http://t.qq.com/invite/683596888b54fbd0d9d3
http://t.qq.com/invite/a4c3fa6bb4d852a26e17
http://t.qq.com/invite/b88b32ba48b74b368c33
http://t.qq.com/invite/6f5e66d6348511862dab
http://t.qq.com/invite/a1e10795108e8c6b0097
IE6在背景图片缓存上有一个bug:它会每次都从服务器端读取背景图片。例如我们使用a:hover更换背景图片,在IE6下会出现每次鼠标滑过则重新向服务器请求图片,如果服务器反应较慢,那么hover效果就会出现短暂的空白,令人极度不爽。虽然可以通过CSS sprites的方式解决问题的,但效果差强人意。
示例:
a{ background:url(normal.gif); } a:hover { background:url(hover.gif); }
如果为超级链接定义上述的css样式以实现鼠标悬浮时的动态效果,在firefox下是没有什么问题的,第一次加载之后,浏览器都会从缓存读取背景图片.
解决方法
具体的解决方法就是在页面中加入一段简单的javascript脚本,告诉IE6:本地有背景图片的话就不要麻烦服务器了。 document.execCommand("BackgroundImageCache",false,true);
关于这段脚本的放置方式有两种:
继续阅读全文……
引入css外部文件的两种方法为在html页面通过link,src属性(注意空链接时的陷阱!),再者是通过CSS文件本身通过@import url()引入,虽然这两种方式都可以加载进来CSS文件,可是link和@import也存在着细微的差别。
隶属上的差别
link属于XHTML标签,而@import完全是CSS提供的一种方式。link标签除了可以加载CSS外,还可以做很多其它的事情,比如定义RSS,定义rel连接属性等,@import就只能加载CSS了。此处注意浏览器的link src为空时候时会导致页面加载次数增多。
@import次数限制
传闻在IE6下,@import只能引入31次css文件,可是可以通过在css文件中再次import来垂直扩展,断桥残雪没有测试过,不过如果出现这样的情况,说明这个写代码的人也挺变态的。
加载顺序的不同
当一个页面被加载的时候(就是被浏览者浏览的时候),link引用的CSS文件会同时被加载,而@import引用的CSS 会等到页面全部被下载完再被加载。所以有时候浏览@import加载CSS的页面时开始会没有样式,然后突然样式会出现,网速慢的时候还挺明显,@import这点跟把CSS文件放在页面结尾效果相同,不过如果我们一些样式开始页面并不会出现,而是在交互时才出现的CSS样式,可以通过这个方法引入,时间上错开。例如:Ajax的html,交互时的弹出框,弹出div等
继续阅读全文……