使用JSONP来取代AJAX进行跨域

标签:JavaScript, jQuery

说到用JavaScript动态加载内容,一般都会想到AJAX。
但AJAX所用的XML其实并非必须,还有其他类型的数据结构(例如JSON和HTML)也可以实现。
而且AJAX有个很大的问题:由于JavaScript的安全限制,AJAX的跨域非常麻烦。
但如果使用JSONP的话,问题就很容易搞定了。

黑客是这样用JavaScript检测浏览器的

标签:JavaScript

一般检查浏览器是通过客户端发出的User-Agent,不过这个是可以更改的(最恶劣的就是Safari)。
所以就有其他方法,比如判断ActiveXObject是否定义,来检测是否为IE。
不过黑客的方法更简短,下面来看看吧。

列出JavaScript对象的各个成员

标签:JavaScript

一直想找个可以列出JavaScript对象的各个成员的函数,可惜没有找到,今天才知道原来可以用for...in:
function showComponents(obj) {
	for(var component in eval(obj)){ //如果传的是字符串类型的对象名,eval就会转换成实际对象,否则可以无视
		document.write(component + " = " + eval(obj)[component] + "<br />");
	}
}
//测试下列出window对象的所有组件
showComponents(window);
document.write("------------------<br />");
showComponents("window");
如果不需要解析字符串类型的对象名,可以把eval去掉。

简洁的JavaScript库:jQuery

标签:JavaScript, jQuery

最近迷上了JavaScript,觉得这语言实在太美了。嘛,主要还是因为代码简洁,但没想到用了一些库后,会更为简洁。
今天就先说jQuery吧,因为感觉是最简洁和漂亮的。
以后有空了,或许还会写PrototypeMooTools等其他库的。

使用jQuery需要一些前置知识:JavaScript本身当然是要懂的,HTML自然也不能不懂,不了解DOM你就不知道jQuery的优点,不会CSS你就失去了jQuery的一大块功能。

如何在文档加载完时响应JavaScript事件

标签:JavaScript

先别说简单,区分下window.onload、document.body.onload和在body标签写onload再说。

当然,上述三种都不符合题意,因为都会等到网页上的元素(包括图像等)全部加载完毕才会调用,而不是document加载完成时调用。

« 看看还有什么好玩意