2012年5月15日 (火)

Unicode <=> UTF-8

var _to_utf8 = function(s) {
  return unescape(encodeURIComponent(s));
};

var _from_utf8 = function(s) {
  return decodeURIComponent(escape(s));
};

String.prototype.to_utf8 = function() {
  return _to_utf8(this);
};

String.prototype.from_utf8 = function() {
  return _from_utf8(this);
};

以前に書いたコードを encodeURIComponent, decodeURIComponent を使って書き直しました。

| | コメント (0)

2012年5月12日 (土)

指定URLのソースを取得して表示

指定URLのソースを取得して表示

しばらく放置してたら動かなくなっていたので見直しました。ついでに Firefox でも動作するようにしています。

| | コメント (0)

2012年4月30日 (月)

htmlspecialchars の定義

var htmlspecialchars = function(s) {
  var c = {"&":'&amp;',"\"":'&quot;',"'":'&#039;',"<":'&lt;',">":'&gt;'};
  return s.replace(/[&"'<>]/g, function($0){return c[$0];});
};

| | コメント (0)

DOMContentLoaded の実験

var onDOMContentLoaded = function(handler) {
  if (document.addEventListener) {
    document.addEventListener('DOMContentLoaded', handler, false);
  } else if ((/msie/i).test(navigator.userAgent)) {
    (function() {
      try {
        document.documentElement.doScroll('left');
      } catch(e) {
        setTimeout(arguments.callee, 0);
        return;
      }
      handler();
    })();
  } else {
    window.onload = handler;
  }
};

| | コメント (0)

2012年4月28日 (土)

正規表現用にエスケープする

var escapeReg = function(s) {
  return s.replace(/([\+\.\(\)\[\]\^\$])/g, "\\$1");
};

| | コメント (0)

«外部スクリプトの引数を解析