分页: 4/4 第一页 上页 1 2 3 4 最后页 [ 显示模式: 摘要 | 列表 ]
我们这里说说四种浏览器对 document.body 的 clientHeight、offsetHeight 和 scrollHeight 的解释。

这四种浏览器分别为IE(Internet Explorer)、NS(Netscape)、Opera、FF(FireFox)。

clientHeight
大家对 clientHeight 都没有什么异议,都认为是内容可视区域的高度,也就是说页面浏览器中可以看到内容的这个区域的高度,一般是最后一个工具条以下到状态栏以上的这个区域,与页面内容无关。

offsetHeight
IE、Opera 认为 offsetHeight = clientHeight + 滚动条 + 边框。
NS、FF 认为 offsetHeight 是网页内容实际高度,可以小于 clientHeight。

scrollHeight
IE、Opera 认为 scrollHeight 是网页内容实际高度,可以小于 clientHeight。
NS、FF 认为 scrollHeight 是网页内容高度,不过最小值是 clientHeight。

简单地说
clientHeight 就是透过浏览器看内容的这个区域高度。
NS、FF 认为 offsetHeight 和 scrollHeight 都是网页内容高度,只不过当网页内容高度小于等于 clientHeight 时,scrollHeight 的值是 clientHeight,而 offsetHeight 可以小于 clientHeight。
IE、Opera 认为 offsetHeight 是可视区域 clientHeight 滚动条加边框。scrollHeight 则是网页内容实际高度。

同理
clientWidth、offsetWidth 和 scrollWidth 的解释与上面相同,只是把高度换成宽度即可。

但是FF 在不同的 DOCTYPE 中对 clientHeight 的解释不同, xhtml 1 trasitional 中则不是如上解释的。其它浏览器则不存在此问题。
在flash里面点击一个exe文件的下载地址好像会被IE拦截
这里有一个解决方案,通过跳转可以解决
(当然,不排除还有更好的方案)
今天在看百度的音乐,发现弹窗有点不同的地方:

链接写为:

function strReplace(search, replace, str) {
var tmp = str;
do {
 str = tmp;
 tmp = str.replace(search, replace);
}while (str != tmp);
return str;
}

这个脚本看上去不是太爽,效率估计很勉强,于是google了一下,原来有更好的版本:

//俺主要是为了适应php的str_replace()啊
function strReplace(search, replace, str) {
var regex = new RegExp(search, "g");
return str.replace(regex, replace);
}

或者oo一点的写法


String.prototype.replaceAll = function(search, replace){
var regex = new RegExp(search, "g");
return this.replace(regex, replace);
}
测试一下:

var str = 'cccaaacccaaacccaaacccaaacccaaa';
alert(str.replaceAll('aaa', 'testIt'));
分页: 4/4 第一页 上页 1 2 3 4 最后页 [ 显示模式: 摘要 | 列表 ]

阅读推荐

服务器相关推荐

开发相关推荐

应用软件推荐