タグ

javascriptとcodeに関するC_Lのブックマーク (4)

  • MacIE5でArray.pushを実装

    MacIE5でArray.pushを実装 スポンサードリンク Tweet MacIE5でArray.pushが必要になったんで、作りました。以下のコードをJavaScriptのコードに入れておくと、Arrayオブジェクトにpushメソッドが追加されます。pushメソッドが既にある場合は、上書きしません。 // Array.pushをMacIE5に実装 if (typeof Array.prototype.push != 'function') { Array.prototype.push = function (f){ this[this.length] = f; } } 使うときは普通に var x = ['hoge', 'fuga']; x.push('hage'); alert(x.length); // 3 var s = ''; for (var i = 0; i < x.len

    C_L
    C_L 2008/09/01
    MacIE5などArray.push()が定義されていないとき、それらを使えるように関数を定義します。それらが実装されているブラウザでは、上書きしません。
  • MacIE5でdecodeURIを実装

    MacIE5でdecodeURIを実装 スポンサードリンク Tweet MacIE5でdecodeURI()が必要になったんで、作ったけど、これでいいのかな。 if (typeof decodeURI != 'function') { decodeURI = function (s) { // via http://homepage3.nifty.com/aokura/jscript/utf8.html var _from_utf8 = function(s) { var c, d = "", flag = 0, tmp; for (var i = 0; i < s.length; i++) { c = s.charCodeAt(i); if (flag == 0) { if ((c & 0xe0) == 0xe0) { flag = 2; tmp = (c & 0x0f) << 12;

    C_L
    C_L 2008/03/24
    MacIE5などdecodeURI(),decodeURIComponents()が定義されていないとき、それらを使えるように関数を定義します。それらが実装されているブラウザでは、上書きしません。
  • 文字列と UTF-8 バイト列の相互変換: Days on the Moon

    やっていることは「高度な JavaScript 技集」の「UTF-8 <-> UTF16 変換」と同じ。 function toUTF8Octets(string) { return unescape(encodeURIComponent(string)); } function fromUTF8Octets(octets) { return decodeURIComponent(escape(octets)); } encodeURIComponent は encodeURI でもいい (むしろそのほうが処理する文字種が減って速くなりそう) が、decodeURIComponent は decodeURI にすると一部の文字 ("?"、"#" など) がデコードされなくなる。 使いどころ Base64 エンコードする関数 (「高度な JavaScript 技集」の base64encod

  • Escape Codec Library: ecl.js

    日頃より楽天のサービスをご利用いただきましてありがとうございます。 サービスをご利用いただいておりますところ大変申し訳ございませんが、現在、緊急メンテナンスを行わせていただいております。 お客様には、緊急のメンテナンスにより、ご迷惑をおかけしており、誠に申し訳ございません。 メンテナンスが終了次第、サービスを復旧いたしますので、 今しばらくお待ちいただけますよう、お願い申し上げます。

  • 1