Skip to content

Instantly share code, notes, and snippets.

@think49
think49 / matchesCssRule.js
Created October 17, 2010 08:29
matchesCssRule.js : 対象の要素が cssRules で定義済みのセレクタにマッチするとき、true を返します。
// matchesCssRule.js
// Array.forEach(contextObject, callbackfn [, thisArg])
if (typeof Array.forEach !== 'function') {
Array.forEach = (function (forEach) {
return function (contextObject, callbackfn /*, thisArg*/) {
return forEach.call(contextObject, callbackfn, arguments[2]);
};
@think49
think49 / ECMAScript5.js
Created October 17, 2010 07:58
ECMAScript5.js : ES5 準拠のメソッドを定義するJavaScriptライブラリ
/**
* ECMAScript5.js (ECMA-262 Edition 5)
*
* @version 1.0
* @author think49
*/
// 15.4.3.2 Array.isArray ( arg )
//
// 1. If Type(arg) is not Object, return false.
@think49
think49 / http.js
Created October 10, 2010 18:25
http.js : XMLHttpRequest を利用してHTTPリクエストする
var XMLHttpRequest = (typeof XMLHttpRequest === 'function' || typeof XMLHttpRequest === 'object') ? XMLHttpRequest : (function () {
var i, l;
for (i = 0, l = arguments.length; i < l; i++) {
try {
arguments[i]();
return arguments[i];
}
catch (error) {}
}
@think49
think49 / tableEditor.js
Created October 8, 2010 05:05
TableEditor.js : table要素をフィルタリング
// TableEditor.js
var TableEditor = (function () {
var prototype;
function TableEditor () {
this.init.apply(this, arguments);
return this;
}
@think49
think49 / setLineElementByBRElement.html
Created October 7, 2010 11:30
setLineElementByBRElement.js : br要素区切りのノードを <span class="l"> で括る。大学ノート風のデザインを実現できる。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8" />
<title>setLineElementByBRElement.js</title>
<style type="text/css"><!--
/* default */
body { margin: 0; padding: 1em; line-height: 100%; }
h1, h2, h3, h4, h5, h6 { font-weight: bold; color: #202020; }
h1 { margin: 1em 0; padding: 0; font-size: 150%; }
@think49
think49 / getFormElements.html
Created October 4, 2010 09:37
getFormElements.js : HTMLFormElement.elements をオブジェクトに変換して返す
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8" />
<title>getFormElements.js</title>
<style type="text/css"><!--
/* default */
body { margin: 0; padding: 1em; }
h1,h2,h3,h4,h5,h6 { font-weight: bold; color: #202020; }
@think49
think49 / rfc4180plus.js
Created October 1, 2010 17:11
rfc4180plus.js : この gist は http://gist.github.com/606500 に統合されました
function RFC4180Plus () {
var
CRLF = '(?:\r\n|[\r\n])',
escaped = '"(?:""|[^"])*"',
non_escaped = '[^\n\r",]*',
field = '(?:' + escaped + '|' + non_escaped + ')',
record = field + '(?:,' + field + ')*',
file = record + '(?:' + CRLF + record + ')*' + CRLF + '?';
@think49
think49 / rfc4180.js
Created October 1, 2010 17:06
rfc4180.js : CSV文字列を二次元配列やtable要素ノードに変換する (RFC 4180 準拠)
/**
* rfc4180.js
* CSV parser.
*
* @version 1.0.1
* @author think49
* @url https://gist.github.com/606500
* @license http://www.opensource.org/licenses/mit-license.php (The MIT License)
* @see <a href="http://www.ietf.org/rfc/rfc4180.txt">http://www.ietf.org/rfc/rfc4180.txt</a>
*/
@think49
think49 / dumpObject.js
Created October 1, 2010 08:39
dumpObject.js : オブジェクトを整形文字列にして返します。
// dumpObject.js
// オブジェクトを整形文字列にして返します
function dumpObject (obj) {
var p, result;
result = [];
for (p in obj) {
if (obj.hasOwnProperty(p)) {
@think49
think49 / URIParameter.js
Created October 1, 2010 07:56
URIParameter.js : URI のGETパラメータをオブジェクトに展開します。
/**
* URIParameter.js
*
* @version 1.0.2
* @author think49
*/
var URIParameter = (function () {
/**