以前就听说google用jquery,一直没找到具体的页面。今天在看google 地图 api的时候发现了jquery的身影,还是最新的版本,去英文版的一看,也是使用的这个。
分类:Web
收藏或加星标
我使用del.icio.us来收藏我感兴趣的页面;我使用google的阅读器来订阅weblog,对我感觉感兴趣的文章加星标。把感兴趣的东西放在两个不同的地方,还真是不方便啊。而且,我不想再增加使用其它的服务站点来解决这个问题,那样把问题搞复杂了。不知道没有简单的方法。
PostgreSQL也许更好?
最近关注了下PostgreSQL,发现中文文档比较新,就顺便看了下,我觉得中文手册比Mysql的中文手册强多了。
Google的IMAP
我昨天通过Thunderbird使用了一下Google提供的IMAP服务,发现几个问题。
在Gmail中,是可以对邮件进行不同的标记的,以达到分类的效果。如果使用IMAP是,这些分类会被当成目录进行管理,如果分类名出现"/"符号,Gmail将会把分类名分成多层目录来处理。但是,当接收邮件时,会把同一封邮件下载多份,原因是Gmail里的收件箱也是个目录,所有的邮件都会显示在这里,而许多被标签过的邮件又在标签文件夹里显示一份,这里就出现了某封邮件出现在多个目录中,造成了大量的浪费。
也有可能是我不经常使用IMAP的原因吧,有许多特性还不是很发解。
Firefox3 Alpha5
这个版本在前几天我已经用上了,但没用多久。Places的完成度还不是很高。从发布的releasenotes来看,这次主要的改变是Bookmarks开始使用Places了,这样Bookmarks就是使用sqlite来存储的,其它的就没有什么。从原来的计划来看,这个alpha版又有许多功能被移动到了下一个版本。希望不要有alpha7啊。
- Places的Bookmarks部分被开启。
- 新的崩溃报告系统Breakpad。在OSX被默认开启,大约50%的Windows被开启(?),还没有提供Linux版本。
- 新的基于Javascript的密码管理器。
- 关于Mac的更新。
- Gecko内核 1.9 bug修复。
Custom Search Engine
前天,我又开通了google的一项服务,Custom Search Engine。这项服务其实去年就推出了,只是我没有看到而已。现在还在摸这个东西,好象还是点复杂的,主要是英文太多了。。。使用这种Engine,你可以自已指定搜索的范围。而且,这是Google Co-op平台的一部分,还有其它两部分:Subscribed Link、Topics。
javascript检测java版本
有时候,会需要通过浏览器来检测当前机器的Java版本。在网上还未找到解决方法,但有人问到过,java的官方网站可以检测出来。通过分析一个在线教室的网站,找到解决方法:
首先,判断浏览器是否安装java的浏览器插件。
<script type="text/javascript">
var isIE = "false";
var javawsInstalled = 0;
if (navigator.mimeTypes && navigator.mimeTypes.length) {
x = navigator.mimeTypes['application/x-java-jnlp-file'];
if (x) {
javawsInstalled = 1;
}
} else {
isIE = "true";
}
</script>
<script type="text/vbscript">
on error resume next
If isIE = "true" Then
If Not(IsObject(CreateObject("JavaWebStart.IsInstalled"))) Then
javawsInstalled = 0
Else
javawsInstalled = 1
End If
End If
</script>
如果,已经安装了java浏览器插件,就在当前的页面里嵌入一个applet,通过这个applet来显示Java的版本。至于这个.jar的包,可以到那个网站去下载。
javascript检测弹出窗口
最近,有个需求是就是检测用户的浏览器是否启用了弹出窗口功能。还好,找到了个比较靠谱的解决方法。原文在,其原理是分析了MSN Web Messenger的js。
其中有部分我没看太懂,就是IsYBI(),这个函数里面创建了new ActiveXObject("YBIOCtrl.CompanionBHO"),我不知道这到底创建的是什么?变量spbw保存了是否启用了弹出窗口功能,true表示启用了弹出窗口。原理应该还是创建弹出窗口,并对弹出窗口进行检测。
Firefox未来
最近有一篇文章指出Firefox越来越臃肿。在我看来,Firefox的强大是正确的方向,随着技术不断得发展,现在通过浏览器可以作更多的事情。对某一项技术的支持将会对浏览器产生很大影响。从最新的Firefox3的开发功能来看,firefox开始与web services相结合了。最新开发的places支持远程同步,这个功能现在可以使用google提供的插件来实现。
我对浏览器和手机的未来非常感兴趣。随着手机技术的不断发展,使用手机来浏览信息将会是再正常不过的事情了,而且随时就可以查看。而浏览器将被赋于更多的功能,也许也以不叫浏览器了,或者别的什么。但有一点永远都基于web的。
javascript检测flash版本原理
有时候会需要在客户端检测flash版本。在js中navigator对象,用于显示浏览器的各种个参数。比较重要的是navigator.userAgent,它提供浏览器的UA信息。navigator.plugins显示所以浏览器的插件信息。但对ie来说,你就别指望了。但还是有其它方法来判断一个ActiveXObject对象是否存在的。
p = navigator.plugins;
if (p && p.length) {
for (var i = 0; i < p.length; i++) {
if (p[i].name.indexOf('Shockwave Flash') > -1) {
alert(p[i].description.split('Shockwave ')[1]);
break;
}
}
} else if (window.ActiveXObject) {
for (var j=9;j>=6;j–) {
try {
var fl=eval("new ActiveXObject('ShockwaveFlash.ShockwaveFlash."+j+"');");
if (fl) {
f=j + '.0';
break;
}
}
catch(e) {}
}
alert(f);
}
原理:
首先,判断navigator.plugins是否为空,如果是空的话就当IE处理啦。接着处理非IE类的,就是编历navigator.plugins数组,查找名字包含Shockwave Flash的项,然后把前面的Shockwave 截取掉;IE部分的原理是创建ActiveXObject来判断是哪一个版本的flash。使用eval动态的创建不同的版本的ShockwaveFlash.ShockwaveFlash对象,哪一个创建成功了就是什么版本了。