浏览模式: 标准 | 列表

http://www.hedgerwow.com/360/dhtml/text-overflow.php 找到的好东西,这个是兼容 IE 和 Firefox 的,稍加修改,就兼容 Opera 了。现在已经应用到 extmail 中了,效果很不错。

下载:text-overflow.zip

» 阅读全文

IE 5.5 中的 JScript 版本是 5.5 版,它比以前版本的 JScript 中多了如数组的 push、pop、shift、unshift 方法和 encodeURI、decodeURI 等一些重要的函数。而这些增加的内容在目前其他浏览器(如 Moziila/Firefox 和 Opera)上也同样支持。因此目前开发网站一般对于 IE 浏览器只能兼容到 5.5 版,而对于更低版本的 IE(如 IE 5、IE 4 等),则不再去考虑了。虽然这些低版本的 IE 浏览器目前已经不是主流,但如果能够不需要修改现有代码就能够兼容它们的话,倒是也可以考虑。因此我做了这个兼容低版本 IE 的 JScript 5.5 实现。当然它不可能完全兼容 JScript 5.5,但对于最常用的一些方法,都已经实现了。

该库使用非常简单,只需要在网页的 head 部分加入:

<script type="text/javascript" src="iecompat.js"></script>

就可以了。

2006年6月18日 更新

增加 encodeURI、encodeURIComponent、decodeURI、decodeURIComponent 对 4 字节 UTF8 编码的支持。

2006年2月17日 更新

对 encodeURI、encodeURIComponent、decodeURI、decodeURIComponent 进行了优化,大大的提高其处理速度。

» 阅读全文

该函数来自 http://valyala.narod.ru/huinya/pow_mod.html,利用它计算 128 位二进制数的 powmod 只需要 200 毫秒左右,而其他几个 BigInt.js 中的 powmod 函数计算这种长度的数字都需要 400-800 毫秒。因此用该函数来实现密钥交换算法的话,会得到较高的处理速度。最后 3 个函数是我补充的,str2num 用于将 packString 转化为 BigInt,num2str 用于将 BigInt 转化为 packString,rand 用于生成 n 位的随机数,如果 s = 1,则将第 n 位置一,以保证该随机数正好 n 位。

» 阅读全文

encodeURI 和 encodeURIComponent 都是用来为 URI 进行编码的,而且都是以 UTF-8 字符集进行编码。但是它们之间有一点区别,encodeURI 主要用于对路径部分进行编码,例如 http://www.coolcode.cn/index.php 这样的路径。而 encodeURIComponent 主要用于对路径后的参数值进行编码。例如 http://www.coolcode.cn/index.php?p=1&pp=2 中的 p= 后面的 1 和 pp= 后面的 2,这里应该用 encodeURIComponent 进行编码(虽然在这里编码以后的结果不变)。因为 encodeURI 不对 “:”,“/”,“;”,“#”,“$”,“&”,“+”,“,”,“=”,“?”,“@” 这些符号进行编码,而 encodeURIComponent 则会将它们编码。 对于 ascii 码为 0 - 32 的编码,IE 和 Mozilla/Firefox 都会将它们编码成 %xx 的形式,但是 Opera 这个地方有个 bug,那就是对于 ascii 为 0 的字符,Opera 不对它进行编码(在 Opera 8.5、8.51 和 9.0 上测试结果都一样)。不知道这算不算是 Opera 的一个 bug。

» 阅读全文

IE 的 JScript 5.5 中的数组对象有一个 unshift 方法,这个方法在 Gecko/Opera 浏览器中的 JavaScript 实现中也有,但是它们的返回值却不同,Gecko/Opera 中返回值为新数组的长度,而 IE 中没有返回值,也就是返回值是 undefined。因此,编程时不要依赖这个返回值。