<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6143936844695013686</id><updated>2012-02-17T06:05:14.362+09:00</updated><category term='kurobox'/><category term='X Window'/><category term='メモリ'/><category term='fifo'/><category term='conky'/><category term='fsck'/><category term='javascript'/><category term='IPアドレス'/><category term='rsync'/><category term='gentoo'/><category term='bg'/><category term='perl'/><category term='crossdev'/><category term='tomoyolinux'/><category term='postfix'/><category term='fedora'/><category term='lvs'/><category term='firefox'/><category term='arpwatch'/><category term='css'/><category term='linuxのコマンド'/><category term='amazon'/><category term='nginx'/><category term='debian'/><category term='syslog-ng'/><category term='freebsd'/><category term='Scientific'/><category term='nfs'/><category term='chkrootkit'/><category term='kvm'/><category term='raid'/><category term='bind'/><category term='apache'/><category term='linux'/><category term='man'/><category term='distcc'/><category term='電源'/><category term='centos'/><category term='emacs'/><category term='openbsd'/><category term='mysql'/><category term='cygwin'/><category term='php'/><category term='lm_sensors'/><category term='nmap'/><category term='swfmill'/><category term='rcs'/><category term='ffmpeg'/><category term='speedfan'/><category term='ウイスキー'/><category term='ime'/><category term='ntp'/><category term='blogger'/><category term='PostgreSQL'/><category term='html文字参照'/><category term='html'/><category term='ハードウェア'/><category term='clamav'/><category term='iptables'/><category term='munin'/><category term='google'/><title type='text'>日記(gentoo,php)</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://insnvlovn.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://insnvlovn.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default?start-index=101&amp;max-results=100'/><author><name>insn</name><uri>http://www.blogger.com/profile/05196582005861324185</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>200</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6143936844695013686.post-8226994701538360839</id><published>2011-12-06T01:54:00.002+09:00</published><updated>2011-12-06T06:29:50.192+09:00</updated><title type='text'>node.js, express, ejsのインストール</title><content type='html'>参考URL。&lt;br&gt;&lt;a href="http://d.hatena.ne.jp/t_43z/20110503/1304421488"&gt;http://d.hatena.ne.jp/t_43z/20110503/1304421488&lt;/a&gt;&lt;br&gt;&lt;a href="http://d.hatena.ne.jp/sasaplus1/20110104/1294076643"&gt;http://d.hatena.ne.jp/sasaplus1/20110104/1294076643&lt;/a&gt;&lt;br&gt;&lt;a href="http://d.hatena.ne.jp/tek_koc+programing/20110430/1304174401"&gt;http://d.hatena.ne.jp/tek_koc+programing/20110430/1304174401&lt;/a&gt;&lt;br&gt;&lt;a href="http://nodejs.org/"&gt;http://nodejs.org/&lt;/a&gt;&lt;br&gt;&lt;a href="http://nodejs.jp/"&gt;http://nodejs.jp/&lt;/a&gt;&lt;br&gt;&lt;a href="http://nodejs.jp/nodejs.org_ja/api/index.html"&gt;http://nodejs.jp/nodejs.org_ja/api/index.html&lt;/a&gt;&lt;br&gt;&lt;a href="http://hideyukisaito.github.com/expressjs-doc_ja/"&gt;http://hideyukisaito.github.com/expressjs-doc_ja/&lt;/a&gt;&lt;br&gt;&lt;a href="http://hideyukisaito.github.com/expressjs-doc_ja/guide/#template-engines"&gt;http://hideyukisaito.github.com/expressjs-doc_ja/guide/#template-engines&lt;/a&gt;&lt;br&gt;&lt;br&gt;node.js, express, ejsのインストール。&lt;br&gt;&lt;!--&lt;br&gt;専用ユーザーを作成して気に入らなければユーザーとディレクトリを消せば全部消えるので気軽にnode.jsのテストができます。&lt;br&gt;インストール自体は、たぶんroot権限無しで全部行けます。&lt;br&gt;下記の例はnode.js,express,ejsの環境を作成する例です。(/usr/local/bin/nodeを作成するのにroot権限が必要ですが必須ではありません。)&lt;br&gt;--&gt;&lt;!--&lt;br&gt;node.jsのインストール例。(gentooのパッケージが古いためnpmが入らないため)&lt;br&gt;&lt;pre&gt;&lt;br /&gt;$ eix nodejs -c&lt;br /&gt;[D] net-libs/nodejs (0.6.4@2011年12月05日 -&gt; ~0.6.4!t): Evented IO for V8 Javascript&lt;br /&gt;$ eix npm -c&lt;br /&gt;[N] sys-apps/npm [1] (~1.0.26): A package manager for nodejs&lt;br /&gt;[1] "ramereth" /var/lib/layman/ramereth&lt;br /&gt;&lt;/pre&gt;--&gt;&lt;br&gt;ユーザー作成。&lt;br&gt;&lt;pre&gt;&lt;br /&gt;#$ sudo userdel nodejs -r&lt;br /&gt;$ sudo useradd -m nodejs&lt;br /&gt;$ sudo su - nodejs&lt;br /&gt;$ pwd&lt;br /&gt;/home/nodejs&lt;br /&gt;$ whoami&lt;br /&gt;nodejs&lt;br /&gt;&lt;/pre&gt;&lt;br&gt;naveをインストール。&lt;br&gt;&lt;pre&gt;&lt;br /&gt;$ git clone https://github.com/isaacs/nave.git ~/.nave&lt;br /&gt;$ ~/.nave/nave.sh use latest&lt;br /&gt;...(長い)&lt;br /&gt;$ ~/.nave/nave.sh use latest&lt;br /&gt;already using 0.6.5&lt;br /&gt;$ alias nave=$(realpath ~/.nave/nave.sh)&lt;br /&gt;$ echo alias nave=$(realpath ~/.nave/nave.sh) &gt;&gt; .bashrc&lt;br /&gt;$ tail -n2 .bashrc&lt;br /&gt;# Put your fun stuff here.&lt;br /&gt;alias nave=/home/nodejs/.nave/nave.sh&lt;br /&gt;$ nave use latest&lt;br /&gt;already using 0.6.5&lt;br /&gt;&lt;/pre&gt;&lt;br&gt;npmをインストール。(nave use latestが成功していればすぐ終わる)&lt;br&gt;&lt;pre&gt;&lt;br /&gt;$ curl http://npmjs.org/install.sh | sh&lt;br /&gt;&lt;/pre&gt;&lt;br&gt;モジュールをインストール。&lt;br&gt;&lt;pre&gt;&lt;br /&gt;$ npm install express@latest&lt;br /&gt;$ npm install ejs@latest&lt;br /&gt;$ npm ls&lt;br /&gt;/home/nodejs&lt;br /&gt;├── ejs@0.5.0&lt;br /&gt;└─┬ express@2.5.1&lt;br /&gt;  ├─┬ connect@1.8.2&lt;br /&gt;  │ └── formidable@1.0.8&lt;br /&gt;  ├── mime@1.2.4&lt;br /&gt;  ├── mkdirp@0.0.7&lt;br /&gt;  └── qs@0.4.0&lt;br /&gt;&lt;/pre&gt;&lt;br&gt;別のユーザーで実行。(ejs-test001.jsは参考サイトのserver.jsのrequire.paths.pushをコメントアウトしたもの)&lt;br&gt;&lt;pre&gt;&lt;br /&gt;$ NODE_PATH=/home/nodejs/node_modules/ /home/nodejs/.nave/installed/0.6.5/bin/node ejs-test001.js&lt;br /&gt;&lt;/pre&gt;&lt;br&gt;別のユーザーで実行。&lt;br&gt;&lt;pre&gt;&lt;br /&gt;$ w3m http://127.0.0.1:8124/&lt;br /&gt;hello world!&lt;br /&gt;&lt;br /&gt;&amp;lt;p&amp;gt;hello world!&amp;lt;/p&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br&gt;大丈夫そうであればnodeコマンドを検索パスに入れるなど。&lt;!--(環境や趣味に依存)--&gt;&lt;br&gt;&lt;pre&gt;&lt;br /&gt;$ cat /usr/local/bin/node&lt;br /&gt;#!/bin/sh&lt;br /&gt;NODE_PATH=/home/nodejs/node_modules/ /home/nodejs/.nave/installed/0.6.5/bin/node $@&lt;br /&gt;&lt;/pre&gt;&lt;!--&lt;br&gt;その他、&lt;br&gt;いつもログインしているユーザーのHOMEに入れる、(消すときは~/.nave/を消すだけでOK？)、&lt;br&gt;/var/lib/nodejs/に入れる、(/var/以下が別ディスクとか？)、&lt;br&gt;/usr/local/stow/に入れる、(nave自体でバージョン管理できるから必要ない？)、&lt;br&gt;専用ユーザーのHOMEに入れる、(このページの例)、&lt;br&gt;システム直下に入れる、(/usr/xxxなど(消すのが大変？))、&lt;br&gt;ebuildファイルの修正や(ファイル名変えただけだとダメだった)rpm,deb作成など？、&lt;br&gt;OSのソフトウェア管理コマンドで入れられるようになるまで使わない、&lt;br&gt;手動でモジュールを入れるのでnpmは必要ない、&lt;br&gt;など、色々ありポリシーや趣味で選ぶ感じで。&lt;br&gt;--&gt;&lt;!--そういえばstowがあるので全部/usr/local/stow/nodejs-0.6.5/に入れれば良かったかもしれない。&lt;br&gt;nave自体でバージョン管理できるっぽいので必要ないかもしれない。&lt;br&gt;環境依存の設定。&lt;pre&gt;$ sudo emerge -Cav nodejs&lt;br /&gt;$ sudo emerge -n v8&lt;br /&gt;$ grep v8 /var/lib/portage/world&lt;br /&gt;dev-lang/v8&lt;br /&gt;$ cd /usr/local/stow/&lt;br /&gt;$ sudo mkdir nodejs-0.6.5&lt;br /&gt;$ cd nodejs-0.6.5/&lt;br /&gt;$ sudo mkdir bin&lt;br /&gt;$ cd bin/&lt;br /&gt;$ sudo vi node&lt;br /&gt;$ cat node&lt;br /&gt;#!/bin/sh&lt;br /&gt;NODE_PATH=/home/nodejs/node_modules/ /home/nodejs/.nave/installed/0.6.5/bin/node $@&lt;br /&gt;$ sudo chmod +x node&lt;br /&gt;$ cd /usr/local/stow/&lt;br /&gt;$ sudo stow nodejs-0.6.5/&lt;br /&gt;$ which node&lt;br /&gt;/usr/local/bin/node&lt;br /&gt;$ ls -al $(which node)&lt;br /&gt;lrwxrwxrwx 1 root root 29 2011-12-06 00:28:56 /usr/local/bin/node -&gt; ../stow/nodejs-0.6.5/bin/node*&lt;/pre&gt;--&gt;&lt;br&gt;再確認。&lt;br&gt;&lt;pre&gt;$ node ejs-test001.js&lt;/pre&gt;&lt;pre&gt;$ w3m http://127.0.0.1:8124/&lt;/pre&gt;&lt;br&gt;npmのalias。&lt;br&gt;&lt;pre&gt;&lt;br /&gt;$ alias npm=$(realpath ./.nave/installed/0.6.5/bin/npm)&lt;br /&gt;$ echo alias npm=$(realpath ./.nave/installed/0.6.5/bin/npm) &gt;&gt; .bashrc&lt;br /&gt;$ tail -n3 .bashrc&lt;br /&gt;# Put your fun stuff here.&lt;br /&gt;alias nave=/home/nodejs/.nave/nave.sh&lt;br /&gt;alias npm=/home/nodejs/.nave/installed/0.6.5/lib/node_modules/npm/bin/npm-cli.js&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6143936844695013686-8226994701538360839?l=insnvlovn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://insnvlovn.blogspot.com/feeds/8226994701538360839/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6143936844695013686&amp;postID=8226994701538360839' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/8226994701538360839'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/8226994701538360839'/><link rel='alternate' type='text/html' href='http://insnvlovn.blogspot.com/2011/12/nodejs-express-ejs.html' title='node.js, express, ejsのインストール'/><author><name>insn</name><uri>http://www.blogger.com/profile/05196582005861324185</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6143936844695013686.post-7148869872804483253</id><published>2011-11-30T11:04:00.003+09:00</published><updated>2011-11-30T11:22:37.774+09:00</updated><title type='text'>node.jsのtest</title><content type='html'>&lt;pre&gt;var&lt;br /&gt;http = require(&amp;quot;http&amp;quot;),&lt;br /&gt;querystring = require(&amp;quot;querystring&amp;quot;),&lt;br /&gt;convertDate = function(date){&lt;br /&gt;  return (&amp;quot;0&amp;quot; + date.getHours()).slice(-2) + &amp;quot;:&amp;quot; +&lt;br /&gt;    (&amp;quot;0&amp;quot; + date.getMinutes()).slice(-2) + &amp;quot;:&amp;quot; +&lt;br /&gt;    (&amp;quot;0&amp;quot; + date.getSeconds()).slice(-2);&lt;br /&gt;},&lt;br /&gt;htmlEscape = (function(){&lt;br /&gt;  var pattern = /([&amp;amp;&amp;lt;&amp;gt;\&amp;quot;])/g,&lt;br /&gt;  escapeChars = {&amp;quot;&amp;amp;&amp;quot;:&amp;quot;&amp;amp;amp;&amp;quot;, &amp;quot;&amp;lt;&amp;quot;:&amp;quot;&amp;amp;lt;&amp;quot;, &amp;quot;&amp;gt;&amp;quot;:&amp;quot;&amp;amp;gt;&amp;quot;, &amp;quot;\&amp;quot;&amp;quot;:&amp;quot;&amp;amp;quot;&amp;quot;},&lt;br /&gt;  urlPattern = /(^|[^-_.!~*\'()a-zA-Z0-9;\/?:@&amp;amp;=+$,%#])(https?:\/\/[-_.!~*\'()a-zA-Z0-9;\/?:@&amp;amp;=+$,%#]{5,63})($|[^-_.!~*\'()a-zA-Z0-9;\/?:@&amp;amp;=+$,%#])/;&lt;br /&gt;  return function(str){&lt;br /&gt;    return String(str).replace(pattern, function(){&lt;br /&gt;      return escapeChars[arguments[1]];&lt;br /&gt;    }).replace(urlPattern, &amp;quot;$1&amp;lt;a href=\&amp;quot;$2\&amp;quot;&amp;gt;$2&amp;lt;/a&amp;gt;$3&amp;quot;);&lt;br /&gt;  };&lt;br /&gt;})(),&lt;br /&gt;appUrl = &amp;quot;http://192.168.0.100/nodejs/&amp;quot;,&lt;br /&gt;readCount = 0,&lt;br /&gt;writeCount = 0,&lt;br /&gt;bbsLog = [];&lt;br /&gt;http.createServer(function (request, response) {&lt;br /&gt;  var&lt;br /&gt;  postMessage = function(){&lt;br /&gt;    var body = &amp;quot;&amp;quot;;&lt;br /&gt;    request.on(&amp;quot;data&amp;quot;, function(data){&lt;br /&gt;      body += data;&lt;br /&gt;    });&lt;br /&gt;    request.on(&amp;quot;end&amp;quot;, function(){&lt;br /&gt;      var $_POST =  querystring.parse(body), writeDate;&lt;br /&gt;      if (typeof $_POST[&amp;quot;message&amp;quot;] == &amp;quot;string&amp;quot; &amp;amp;&amp;amp; $_POST[&amp;quot;message&amp;quot;] !== &amp;quot;&amp;quot;)&lt;br /&gt;      {&lt;br /&gt;        writeDate = new Date;&lt;br /&gt;        bbsLog.unshift({&amp;quot;date&amp;quot;:writeDate, &amp;quot;message&amp;quot;:$_POST[&amp;quot;message&amp;quot;]});&lt;br /&gt;        while (bbsLog.length &amp;gt; 10)&lt;br /&gt;        {&lt;br /&gt;          bbsLog.pop();&lt;br /&gt;        }&lt;br /&gt;        writeCount++;&lt;br /&gt;        console.log(writeDate, &amp;quot;postMessage&amp;quot;, readCount, writeCount, $_POST);&lt;br /&gt;      }&lt;br /&gt;      response.writeHead(302, {&amp;quot;Location&amp;quot;: appUrl});&lt;br /&gt;      response.end();&lt;br /&gt;    });&lt;br /&gt;  },&lt;br /&gt;  getMessage = function(){&lt;br /&gt;    var&lt;br /&gt;    bbsLogToHtml = function(){&lt;br /&gt;      var i, buf = &amp;quot;&amp;quot;;&lt;br /&gt;      for (i = 0; i &amp;lt; bbsLog.length; i++)&lt;br /&gt;      {&lt;br /&gt;        buf += convertDate(bbsLog[i].date);&lt;br /&gt;        buf += &amp;quot; : &amp;quot;;&lt;br /&gt;        buf += htmlEscape(bbsLog[i].message);&lt;br /&gt;        buf += &amp;quot;&amp;lt;br/&amp;gt;&amp;quot;;&lt;br /&gt;      }&lt;br /&gt;      return buf;&lt;br /&gt;    };&lt;br /&gt;    readCount++;&lt;br /&gt;    response.writeHead(200, {&amp;quot;Content-Type&amp;quot;: &amp;quot;text/html; charset=UTF-8&amp;quot;});&lt;br /&gt;    response.end(&lt;br /&gt;      &amp;quot;&amp;lt;html&amp;gt;&amp;quot; +&lt;br /&gt;        &amp;quot;&amp;lt;head&amp;gt;&amp;quot; +&lt;br /&gt;        &amp;quot;&amp;lt;style&amp;gt;&amp;quot; +&lt;br /&gt;        &amp;quot;*{&amp;quot; +&lt;br /&gt;        &amp;quot;font-family: monospace, sans-serif;&amp;quot; +&lt;br /&gt;        &amp;quot;}&amp;quot; +&lt;br /&gt;        &amp;quot;&amp;lt;/style&amp;gt;&amp;quot; +&lt;br /&gt;        &amp;quot;&amp;lt;/head&amp;gt;&amp;quot; +&lt;br /&gt;        &amp;quot;&amp;lt;body&amp;gt;&amp;quot; +&lt;br /&gt;        &amp;quot;&amp;lt;h1&amp;gt;Sample BBS&amp;lt;/h1&amp;gt;&amp;quot; +&lt;br /&gt;        &amp;quot;readCount : &amp;quot; + readCount + &amp;quot;&amp;lt;br/&amp;gt;&amp;quot; +&lt;br /&gt;        &amp;quot;writeCount : &amp;quot; + writeCount + &amp;quot;&amp;lt;br/&amp;gt;&amp;quot; +&lt;br /&gt;        &amp;quot;&amp;lt;form action=\&amp;quot;&amp;quot; + appUrl + &amp;quot;\&amp;quot; method=\&amp;quot;post\&amp;quot;&amp;gt;&amp;quot; +&lt;br /&gt;        &amp;quot;&amp;lt;input type=\&amp;quot;text\&amp;quot; name=\&amp;quot;message\&amp;quot; value=\&amp;quot;Hello World\&amp;quot; size=\&amp;quot;63\&amp;quot;/&amp;gt;&amp;quot; +&lt;br /&gt;        &amp;quot;&amp;lt;input type=\&amp;quot;submit\&amp;quot;/&amp;gt;&amp;quot; +&lt;br /&gt;        &amp;quot;&amp;amp;nbsp;&amp;lt;a href=\&amp;quot;&amp;quot; + appUrl + &amp;quot;\&amp;quot;&amp;gt;Reload&amp;lt;/a&amp;gt;&amp;quot; +&lt;br /&gt;        &amp;quot;&amp;lt;/form&amp;gt;&amp;quot; +&lt;br /&gt;        bbsLogToHtml() +&lt;br /&gt;        &amp;quot;&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;&amp;quot;);&lt;br /&gt;    console.log(new Date, &amp;quot;getMessage&amp;quot;, readCount, writeCount);&lt;br /&gt;  };&lt;br /&gt;  if (request.method == &amp;quot;POST&amp;quot;)&lt;br /&gt;  {&lt;br /&gt;    postMessage();&lt;br /&gt;  }&lt;br /&gt;  else&lt;br /&gt;  {&lt;br /&gt;    getMessage();&lt;br /&gt;  }&lt;br /&gt;}).listen(8124);&lt;br /&gt;console.log(&amp;quot;Server running at http://127.0.0.1:8124/&amp;quot;);&lt;/pre&gt;&lt;br&gt;node.jsのマニュアルの最初の方にあるサンプル＋postデータの取得のサンプルです。&lt;br&gt;普通は express, ejs などのフレームワークやテンプレートエンジンを使うらしいのでそっちが良いです。&lt;br&gt;ab2でベンチマーク(getMessage()を連続で実行)を取った所-c5000～10000ぐらいまでは性能が低下せずに-c20000では処理量が半分まで落ちた。&lt;br&gt;サンプルの処理内容は単純だがメモリの利用量が少ないことやシングルタスク(Phenom(tm) 9350e)でRequests per secondが2500前後になることを見ると、実用性があるように思う。&lt;br&gt;エラーが不親切な気もするが設定があるのかもしれない。&lt;br&gt;&lt;pre&gt;&lt;br /&gt;// インストール(gentooの場合)&lt;br /&gt;$ sudo ACCEPT_KEYWORDS="~*" emerge --oneshot -avt =net-libs/nodejs-0.6.2&lt;br /&gt;// 実行&lt;br /&gt;$ node example.js &gt; /tmp/nodejs.example.js.log 2&gt;&amp;1 &amp;&lt;br /&gt;// テスト&lt;br /&gt;$ ab2 -n1000 -c100 http://127.0.0.1:8124/ 2&gt;&amp;1|grep "^Requests per second"&lt;br /&gt;Requests per second:    2621.41 [#/sec] (mean)&lt;br /&gt;&lt;/pre&gt;&lt;br&gt;参考URL。&lt;br&gt;&lt;a href="http://nodejs.jp/nodejs.org_ja/api/synopsis.html"&gt;http://nodejs.jp/nodejs.org_ja/api/synopsis.html&lt;/a&gt;&lt;br&gt;&lt;a href="http://onlineconsultant.jp/pukiwiki/?node.js%20GET%20POST%E3%83%91%E3%83%A9%E3%83%A1%E3%83%BC%E3%82%BF%E3%83%BC%E3%82%92%E5%8F%96%E5%BE%97%E3%81%99%E3%82%8B"&gt;http://onlineconsultant.jp/pukiwiki/?node.js%20GET%20POST%E3%83%91%E3%83%A9%E3%83%A1%E3%83%BC%E3%82%BF%E3%83%BC%E3%82%92%E5%8F%96%E5%BE%97%E3%81%99%E3%82%8B&lt;/a&gt;&lt;br&gt;&lt;a href="http://snippets.dzone.com/posts/show/13311"&gt;http://snippets.dzone.com/posts/show/13311&lt;/a&gt;&lt;br&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6143936844695013686-7148869872804483253?l=insnvlovn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://insnvlovn.blogspot.com/feeds/7148869872804483253/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6143936844695013686&amp;postID=7148869872804483253' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/7148869872804483253'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/7148869872804483253'/><link rel='alternate' type='text/html' href='http://insnvlovn.blogspot.com/2011/11/nodejstest.html' title='node.jsのtest'/><author><name>insn</name><uri>http://www.blogger.com/profile/05196582005861324185</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6143936844695013686.post-5399236144126130561</id><published>2011-11-24T09:48:00.004+09:00</published><updated>2011-11-29T02:39:30.367+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><title type='text'>javascriptのtry{...}catch(e){...}の変数eのスコープ</title><content type='html'>ブラウザによってcatch(e)のeの参照できる範囲が違うので、&lt;br&gt;finallyなどで代用できる場合はそうしたほうが良いかもしれない。&lt;br&gt;&lt;br&gt;もしくはeのスコープが限定的になるように無名関数で囲む。&lt;br&gt;&lt;pre&gt;&lt;br /&gt;(function(){&lt;br /&gt;  var e;&lt;br /&gt;  try&lt;br /&gt;  {&lt;br /&gt;    ...;&lt;br /&gt;  }&lt;br /&gt;  catch(e)&lt;br /&gt;  {&lt;br /&gt;    ...;&lt;br /&gt;  }&lt;br /&gt;})();&lt;br /&gt;&lt;/pre&gt;&lt;br&gt;もしくは"e"を予約語として扱う。&lt;br&gt;"for","if"のように変数名に使えないものとして扱う。&lt;br&gt;try,catchが入れ子になっていたら困るかもしれない。&lt;br&gt;&lt;script type="text/javascript" id="try-catch-test001"&gt;//&lt;![CDATA[&lt;!--(function(){  var a=1, b=2;  document.write("&lt;br&gt;"+navigator.userAgent);  document.write("&lt;br&gt;"+typeof a+" : "+a);  (function(){    document.write("&lt;br&gt;"+typeof a+" : "+a);    try    {      throw "throw";    }    catch(a)    {      document.write("&lt;br&gt;"+typeof a+" : "+a);    }    document.write("&lt;br&gt;"+typeof a+" : "+a);    a=b;    document.write("&lt;br&gt;"+typeof a+" : "+a);  })();  document.write("&lt;br&gt;"+typeof a+" : "+a);})();//--&gt;]]&gt;&lt;/script&gt;&lt;br&gt;&lt;br&gt;Firefox8の場合。catch(e){var e; ...} っぽい感じ。&lt;pre&gt;Mozilla/5.0 (Windows NT 5.1; rv:8.0) Gecko/20100101 Firefox/8.0&lt;br /&gt;number : 1&lt;br /&gt;number : 1&lt;br /&gt;string : throw&lt;br /&gt;number : 1&lt;br /&gt;number : 2&lt;br /&gt;number : 2 &lt;/pre&gt;&lt;br&gt;IE8の場合。var e; catch(e){...} っぽい感じ。&lt;pre&gt;&lt;br /&gt;Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 1.1.4322; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)&lt;br /&gt;number : 1&lt;br /&gt;undefined : undefined&lt;br /&gt;string : throw&lt;br /&gt;string : throw&lt;br /&gt;number : 2&lt;br /&gt;number : 1&lt;/pre&gt;&lt;div id="try-catch-test001-source"&gt;&lt;/div&gt;&lt;script type="text/javascript"&gt;//&lt;![CDATA[&lt;!--$("#try-catch-test001-source").append($(document.createElement("code")).css("display", "block").css("white-space", "nowrap").html($("#try-catch-test001").html().replace(/\r\n?/g, "\n").replace(/^\s+|\s+$/, "").replace(/([^\n])/g, function(){return "&amp;#" + arguments[1].charCodeAt(0) + ";";}).replace(/\n/g, "&lt;" + "br /&gt;")));$("#try-catch-test001-source").prepend("&lt;br&gt;ソース。&lt;br&gt;");//--&gt;]]&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6143936844695013686-5399236144126130561?l=insnvlovn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://insnvlovn.blogspot.com/feeds/5399236144126130561/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6143936844695013686&amp;postID=5399236144126130561' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/5399236144126130561'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/5399236144126130561'/><link rel='alternate' type='text/html' href='http://insnvlovn.blogspot.com/2011/11/javascripttrycatchee.html' title='javascriptのtry{...}catch(e){...}の変数eのスコープ'/><author><name>insn</name><uri>http://www.blogger.com/profile/05196582005861324185</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6143936844695013686.post-7600032339853989586</id><published>2011-11-22T14:04:00.077+09:00</published><updated>2011-12-02T10:04:51.829+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><title type='text'>convertCsvToTable.js</title><content type='html'>&lt;script type="text/javascript"&gt;//&lt;![CDATA[&lt;!--/** * jQuery JSON Plugin * version: 2.3 (2011-09-17) * * This document is licensed as free software under the terms of the * MIT License: http://www.opensource.org/licenses/mit-license.php * * Brantley Harris wrote this plugin. It is based somewhat on the JSON.org * website's http://www.json.org/json2.js, which proclaims: * "NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK.", a sentiment that * I uphold. * * It is also influenced heavily by MochiKit's serializeJSON, which is * copyrighted 2005 by Bob Ippolito. */(function($){var escapeable=/["\\\x00-\x1f\x7f-\x9f]/g,meta={'\b':'\\b','\t':'\\t','\n':'\\n','\f':'\\f','\r':'\\r','"':'\\"','\\':'\\\\'};$.toJSON=typeof JSON==='object'&amp;&amp;JSON.stringify?JSON.stringify:function(o){if(o===null){return'null';}var type=typeof o;if(type==='undefined'){return undefined;}if(type==='number'||type==='boolean'){return''+o;}if(type==='string'){return $.quoteString(o);}if(type==='object'){if(typeof o.toJSON==='function'){return $.toJSON(o.toJSON());}if(o.constructor===Date){var month=o.getUTCMonth()+1,day=o.getUTCDate(),year=o.getUTCFullYear(),hours=o.getUTCHours(),minutes=o.getUTCMinutes(),seconds=o.getUTCSeconds(),milli=o.getUTCMilliseconds();if(month&lt;10){month='0'+month;}if(day&lt;10){day='0'+day;}if(hours&lt;10){hours='0'+hours;}if(minutes&lt;10){minutes='0'+minutes;}if(seconds&lt;10){seconds='0'+seconds;}if(milli&lt;100){milli='0'+milli;}if(milli&lt;10){milli='0'+milli;}return'"'+year+'-'+month+'-'+day+'T'+hours+':'+minutes+':'+seconds+'.'+milli+'Z"';}if(o.constructor===Array){var ret=[];for(var i=0;i&lt;o.length;i++){ret.push($.toJSON(o[i])||'null');}return'['+ret.join(',')+']';}var name,val,pairs=[];for(var k in o){type=typeof k;if(type==='number'){name='"'+k+'"';}else if(type==='string'){name=$.quoteString(k);}else{continue;}type=typeof o[k];if(type==='function'||type==='undefined'){continue;}val=$.toJSON(o[k]);pairs.push(name+':'+val);}return'{'+pairs.join(',')+'}';}};$.evalJSON=typeof JSON==='object'&amp;&amp;JSON.parse?JSON.parse:function(src){return eval('('+src+')');};$.secureEvalJSON=typeof JSON==='object'&amp;&amp;JSON.parse?JSON.parse:function(src){var filtered=src.replace(/\\["\\\/bfnrtu]/g,'@').replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,']').replace(/(?:^|:|,)(?:\s*\[)+/g,'');if(/^[\],:{}\s]*$/.test(filtered)){return eval('('+src+')');}else{throw new SyntaxError('Error parsing JSON, source is not valid.');}};$.quoteString=function(string){if(string.match(escapeable)){return'"'+string.replace(escapeable,function(a){var c=meta[a];if(typeof c==='string'){return c;}c=a.charCodeAt();return'\\u00'+Math.floor(c/16).toString(16)+(c%16).toString(16);})+'"';}return'"'+string+'"';};})(jQuery);/*$Id: convertCsvToTable.js 498 2011-11-24 01:53:32Z  $http://insnvlovn.blogspot.com/2011/11/convertcsvtotablejs.htmlThe MIT License (MIT)http://www.opensource.org/licenses/mit-license.php*/var convertCsvToTable=function(x,ab){var ac="function",N="nowrap",O="white-space",ad="version",ae="save-json",F="readonly",af="load-json",ag="absolute",ah="pointer",P="position",q="click",y="number",ai="td:nth-child(n+2)",aj="border-collapse",z="border-width",ak="1px solid ",i="background-color",A="width",s="none",Q="text-align",al="padding",am="overflow",an="line-height",G="auto",H="height",R="normal",ao="default",t="cursor",r="color",S="border",ap="alpha(opacity=",aq="\uff8e\uff9f",ar="\uff8e\uff9e",as="\uff8d\uff9f",at="\uff8d\uff9e",au="\uff8c\uff9f",av="\uff8c\uff9e",aw="\uff8b\uff9f",ax="\uff8b\uff9e",ay="\uff8a\uff9f",az="\uff8a\uff9e",aA="\uff84\uff9e",aB="\uff83\uff9e",aC="\uff82\uff9e",aD="\uff81\uff9e",aE="\uff80\uff9e",aF="\uff7f\uff9e",aG="\uff7e\uff9e",aH="\uff7d\uff9e",aI="\uff7c\uff9e",aJ="\uff7b\uff9e",aK="\uff7a\uff9e",aL="\uff79\uff9e",aM="\uff78\uff9e",aN="\uff77\uff9e",aO="\uff76\uff9e",I="\uff9c",J="\uff74",K="\uff72",o="]",p="[",l="0",B="KV",C="string",D="\\",n='"';return function(h,f,u,T,U,E,L,aT,aP,aU,aQ,aV,aW,aX,aY,aZ,a$,aR,a0,a9,ba){var j=!0,a=[],aS=f,V=function(){var b,g,d=0,e=0,c="",h=function(b){a[d][e]=b.substr(0,a0)},j=a$,i=aR;f=f.replace(/\r\n?/g,"\n").replace(/[\x00-\b\x0b-\x1f]/g," ").replace(/^[\t\n ]+|[\t\n ]+$/g,"");g=f.length;a[d]=[];for(b=0;b&lt;g;b++){if(d&gt;j){break}switch(f.charAt(b)){case n:while(b&lt;g){if(f.charAt(b+1)==D){c+=D+f.charAt(b+2);b+=2}else if(f.charAt(b+1)==n){if(f.charAt(b+2)==n){c+=n;b+=2}else{b++;break}}else{c+=f.charAt(++b)}}break;case"\t":case" ":while(b&lt;g&amp;&amp;(f.charAt(b+1)=="\t"||f.charAt(b+1)==" ")){b++}break;case",":if(e&lt;i){h(c);e++}c="";break;case"\n":if(e&lt;i){if(c!=""){h(c)}}c="";if(d&lt;j){d++;a[d]=[]}e=0;break;default:c+=f.charAt(b);while((b+1)&lt;g&amp;&amp;(f.charAt(b+1)!=","&amp;&amp;f.charAt(b+1)!="\n")){c+=f.charAt(b+1);b++}c=c.replace(/[\t ]+$/,"")}}if(e&lt;i){if(c!=""){h(c)}}},W=function(){var k=function(){var a=function(b){var a={r:!1,R:!1,n:!1,N:!1,a:!1,A:!1,s:!1,S:!1,k:!1,K:!1,h:!1,H:!1,c:!1,C:!1,KV:!1,HV:!1},c=!1;if(typeof b!=C||b==""){b=B}b.replace(/(.)/g,function(){if(a[arguments[1]]===!1){a[arguments[1]]=!0}if(arguments[1]=="V"){c=!0}});if(a.a){a.r=!1;a.n=!1}if(a.A){a.R=!1;a.N=!1}if(a.k){a.c=!1}if(a.K){a.H=!1}if(a.h){a.C=!1}if(c){if(a.K){a.K=!1;a.KV=!0}else if(a.H){a.H=!1;a.HV=!0}}return a},b=function(){var j=function(){var h=[["A","R","N","S","h","k","C"],["a","r","n","s","H","HV","K",B,"c"]],i=[["A","R","a","r"],["A","\uff21","B","\uff22","C","\uff23","D","\uff24","E","\uff25","F","\uff26","G","\uff27","H","\uff28","I","\uff29","J","\uff2a","K","\uff2b","L","\uff2c","M","\uff2d","N","\uff2e","O","\uff2f","P","\uff30","Q","\uff31","R","\uff32","S","\uff33","T","\uff34","U","\uff35","V","\uff36","W","\uff37","X","\uff38","Y","\uff39","Z","\uff3a","a","\uff41","b","\uff42","c","\uff43","d","\uff44","e","\uff45","f","\uff46","g","\uff47","h","\uff48","i","\uff49","j","\uff4a","k","\uff4b","l","\uff4c","m","\uff4d","n","\uff4e","o","\uff4f","p","\uff50","q","\uff51","r","\uff52","s","\uff53","t","\uff54","u","\uff55","v","\uff56","w","\uff57","x","\uff58","y","\uff59","z","\uff5a"],["A","N","a","n"],[l,"\uff10","1","\uff11","2","\uff12","3","\uff13","4","\uff14","5","\uff15","6","\uff16","7","\uff17","8","\uff18","9","\uff19"],["a"],["-","\u2212"],["A","a"],["!","\uff01","#","\uff03","$","\uff04","%","\uff05","&amp;","\uff06","(","\uff08",")","\uff09","*","\uff0a","+","\uff0b",",","\uff0c","-","\uff0d",".","\uff0e","/","\uff0f",":","\uff1a",";","\uff1b","&lt;","\uff1c","=","\uff1d","&gt;","\uff1e","?","\uff1f","@","\uff20",p,"\uff3b",o,"\uff3d","^","\uff3e","_","\uff3f","`","\uff40","{","\uff5b","|","\uff5c","}","\uff5d"],["S","s"],[" ","\u3000"],["H","HV","K",B,"h","k"],["\u3001","\uff64","\u3002","\uff61","\u300c","\uff62","\u300d","\uff63","\u309b","\uff9e","\u309c","\uff9f","\u30fb","\uff65","\u30fc","\uff70"],["K",B,"k"],["\u30a1","\uff67","\u30a2","\uff71","\u30a3","\uff68","\u30a4",K,"\u30a5","\uff69","\u30a6","\uff73","\u30a7","\uff6a","\u30a8",J,"\u30a9","\uff6b","\u30aa","\uff75","\u30ab","\uff76","\u30ad","\uff77","\u30af","\uff78","\u30b1","\uff79","\u30b3","\uff7a","\u30b5","\uff7b","\u30b7","\uff7c","\u30b9","\uff7d","\u30bb","\uff7e","\u30bd","\uff7f","\u30bf","\uff80","\u30c1","\uff81","\u30c3","\uff6f","\u30c4","\uff82","\u30c6","\uff83","\u30c8","\uff84","\u30ca","\uff85","\u30cb","\uff86","\u30cc","\uff87","\u30cd","\uff88","\u30ce","\uff89","\u30cf","\uff8a","\u30d2","\uff8b","\u30d5","\uff8c","\u30d8","\uff8d","\u30db","\uff8e","\u30de","\uff8f","\u30df","\uff90","\u30e0","\uff91","\u30e1","\uff92","\u30e2","\uff93","\u30e3","\uff6c","\u30e4","\uff94","\u30e5","\uff6d","\u30e6","\uff95","\u30e7","\uff6e","\u30e8","\uff96","\u30e9","\uff97","\u30ea","\uff98","\u30eb","\uff99","\u30ec","\uff9a","\u30ed","\uff9b","\u30ef",I,"\u30f2","\uff66","\u30f3","\uff9d"],[B,"k"],["\u30ac",aO,"\u30ae",aN,"\u30b0",aM,"\u30b2",aL,"\u30b4",aK,"\u30b6",aJ,"\u30b8",aI,"\u30ba",aH,"\u30bc",aG,"\u30be",aF,"\u30c0",aE,"\u30c2",aD,"\u30c5",aC,"\u30c7",aB,"\u30c9",aA,"\u30d0",az,"\u30d1",ay,"\u30d3",ax,"\u30d4",aw,"\u30d6",av,"\u30d7",au,"\u30d9",at,"\u30da",as,"\u30dc",ar,"\u30dd",aq,"\u30f4","\uff73\uff9e"],["k"],["\u30ee",I,"\u30f0",K,"\u30f1",J],["H","HV","h"],["\u3041","\uff67","\u3042","\uff71","\u3043","\uff68","\u3044",K,"\u3045","\uff69","\u3046","\uff73","\u3047","\uff6a","\u3048",J,"\u3049","\uff6b","\u304a","\uff75","\u304b","\uff76","\u304d","\uff77","\u304f","\uff78","\u3051","\uff79","\u3053","\uff7a","\u3055","\uff7b","\u3057","\uff7c","\u3059","\uff7d","\u305b","\uff7e","\u305d","\uff7f","\u305f","\uff80","\u3061","\uff81","\u3063","\uff6f","\u3064","\uff82","\u3066","\uff83","\u3068","\uff84","\u306a","\uff85","\u306b","\uff86","\u306c","\uff87","\u306d","\uff88","\u306e","\uff89","\u306f","\uff8a","\u3072","\uff8b","\u3075","\uff8c","\u3078","\uff8d","\u307b","\uff8e","\u307e","\uff8f","\u307f","\uff90","\u3080","\uff91","\u3081","\uff92","\u3082","\uff93","\u3083","\uff6c","\u3084","\uff94","\u3085","\uff6d","\u3086","\uff95","\u3087","\uff6e","\u3088","\uff96","\u3089","\uff97","\u308a","\uff98","\u308b","\uff99","\u308c","\uff9a","\u308d","\uff9b","\u308f",I,"\u3092","\uff66","\u3093","\uff9d"],["HV","h"],["\u304c",aO,"\u304e",aN,"\u3050",aM,"\u3052",aL,"\u3054",aK,"\u3056",aJ,"\u3058",aI,"\u305a",aH,"\u305c",aG,"\u305e",aF,"\u3060",aE,"\u3062",aD,"\u3065",aC,"\u3067",aB,"\u3069",aA,"\u3070",az,"\u3071",ay,"\u3073",ax,"\u3074",aw,"\u3076",av,"\u3077",au,"\u3079",at,"\u307a",as,"\u307c",ar,"\u307d",aq],["h"],["\u308e",I,"\u3090",K,"\u3091",J],["C","c"],["\u3041","\u30a1","\u3042","\u30a2","\u3043","\u30a3","\u3044","\u30a4","\u3045","\u30a5","\u3046","\u30a6","\u3047","\u30a7","\u3048","\u30a8","\u3049","\u30a9","\u304a","\u30aa","\u304b","\u30ab","\u304c","\u30ac","\u304d","\u30ad","\u304e","\u30ae","\u304f","\u30af","\u3050","\u30b0","\u3051","\u30b1","\u3052","\u30b2","\u3053","\u30b3","\u3054","\u30b4","\u3055","\u30b5","\u3056","\u30b6","\u3057","\u30b7","\u3058","\u30b8","\u3059","\u30b9","\u305a","\u30ba","\u305b","\u30bb","\u305c","\u30bc","\u305d","\u30bd","\u305e","\u30be","\u305f","\u30bf","\u3060","\u30c0","\u3061","\u30c1","\u3062","\u30c2","\u3063","\u30c3","\u3064","\u30c4","\u3065","\u30c5","\u3066","\u30c6","\u3067","\u30c7","\u3068","\u30c8","\u3069","\u30c9","\u306a","\u30ca","\u306b","\u30cb","\u306c","\u30cc","\u306d","\u30cd","\u306e","\u30ce","\u306f","\u30cf","\u3070","\u30d0","\u3071","\u30d1","\u3072","\u30d2","\u3073","\u30d3","\u3074","\u30d4","\u3075","\u30d5","\u3076","\u30d6","\u3077","\u30d7","\u3078","\u30d8","\u3079","\u30d9","\u307a","\u30da","\u307b","\u30db","\u307c","\u30dc","\u307d","\u30dd","\u307e","\u30de","\u307f","\u30df","\u3080","\u30e0","\u3081","\u30e1","\u3082","\u30e2","\u3083","\u30e3","\u3084","\u30e4","\u3085","\u30e5","\u3086","\u30e6","\u3087","\u30e7","\u3088","\u30e8","\u3089","\u30e9","\u308a","\u30ea","\u308b","\u30eb","\u308c","\u30ec","\u308d","\u30ed","\u308e","\u30ee","\u308f","\u30ef","\u3090","\u30f0","\u3091","\u30f1","\u3092","\u30f2","\u3093","\u30f3"]],f={},j={},a,b,c,d,e,g;for(a=0;a&lt;h.length;a++){for(b=0;b&lt;h[a].length;b++){d=h[a][b];j[d]=a;f[d]={}}}for(a=0;a&lt;i.length;a++){d=i[a];e=i[++a];for(b=0;b&lt;d.length;b++){g=d[b];for(c=0;c&lt;e.length;c++){if(j[g]==1){f[g][e[c+1]]=e[c]}else{f[g][e[c]]=e[c+1]}c++}}}return f}(),h=function(a,b){var c="";if(j[a][b]){c=j[a][b]}return c},m={KV:1,HV:1};return function(l,i){var a="",j=function(){var b=[],j="",k="",e=arguments[1],c=arguments[2],l=function(){var f,d,g=!1;if(e!=""){for(f in m){if(i[f]){if(a!=""){d=h(f,a+e);if(d!=""){j=d;b=[];a=c;g=!0;break}}if(!g&amp;&amp;c!=""){d=h(f,e+c);if(d!=""){k=d;b=[a];a="";g=!0;break}}}}}return g},n=function(){var a,c,d,e="";for(a=0;a&lt;b.length;a++){if(b[a]!=""){c="";for(d in i){if(i[d]){c=h(d,b[a]);if(c!=""){e+=c;break}}}if(c==""){e+=b[a]}}}return e};if(typeof c!=C){c=""}if(!l()){b=[a,e];a=c}return j+n()+k};return l.replace(/([\s\S])([\s\S])?/g,j)+j("","")}}(),c=function(c,d){return b(String(c),a(d))};return c}(),j={"\xb4":"'","\u2010":"-","\u2015":"-","\u2018":"'","\u2019":"'","\u201c":n,"\u201d":n,"\u3008":"(","\u3009":")","\u300a":"(","\u300b":")","\u300c":p,"\u300d":o,"\u300e":p,"\u300f":o,"\u3010":p,"\u3011":o,"\u3014":p,"\u3015":o,"\u3018":p,"\u3019":o,"\u301a":p,"\u301b":o,"\u309b":n,"\u309c":"'","\u30fc":"-","\uff08":"(","\uff09":")","\uff0d":"-","\uff3b":p,"\uff3c":D,"\uff3d":o,"\uff3f":"_","\uff5b":"{","\uff5d":"}","\uff5e":"~","\uffe3":"~","\uffe5":D};return function(){var b,c,f=a.length,e=0;for(b=0;b&lt;f;b++){a[b].unshift(b);for(c=a[b].length-1;c&gt;=1;c--){if(a[b][c]===""){a[b].pop()}else{break}}e=Math.max(e,a[b].length)}a[0][0]="";for(b=0;b&lt;f;b++){for(c=a[b].length;c&lt;e;c++){a[b].push("")}}for(b=0;b&lt;f;b++){for(c=0;c&lt;e;c++){if(b==0){a[b][c]=[a[b][c],""]}else if(c==0){a[b][c]=[a[b][c],a[b][c]]}else{a[b][c]=[a[b][c],a[b][c]]}}}(function(){var d,i,g=[],h=[];for(b=1;b&lt;f;b++){for(c=1;c&lt;e;c++){d=a[b][c][1];if(!d.match(/^[\x00-\x7f]*$/)){d=k(d,"asKVC")}d=d.toLowerCase().substr(0,a9).replace(/[\t\n ]/g,"").replace(/(.)/g,function(){var a=arguments[1];if(j[a]){a=j[a]}return a}).replace(/[\\\"\'\(\)\&lt;\&gt;\[\]\{\}]/g,"");if(g[c]!==!1&amp;&amp;d!==""){g[c]=!1;if(d.match(/^(?:[+-]?)(?:[0-9]+(?:,[0-9]+)*)(?:\.[0-9]+)?$/)){i=parseFloat(d.replace(/,/,""));if(!isNaN(i)){g[c]=!0;if(!h[b]){h[b]=[]}h[b][c]=i}}}a[b][c][1]=d}}for(b=1;b&lt;f;b++){for(c=1;c&lt;e;c++){if(g[c]){if(a[b][c][1]===""){a[b][c][1]=0}else{a[b][c][1]=h[b][c]}}}}})()}}(),M=function(){var ax="#181818",K="#FFFFFF",X="#676767",m=function(a){return $(document.createElement(a))},ay=function(b,a){return $(b).css("filter",ap+(a*100)+")").css("-ms-filter",ap+(a*100)+")").css("opacity",a)},az=function(){var b='monospace, "Osaka\u2212\u7b49\u5e45", "\uff2d\uff33 \u30b4\u30b7\u30c3\u30af"',a;if($.browser.msie){a=parseInt($.browser.version,10);if(!isNaN(a)&amp;&amp;a&gt;6){b='"\uff2d\uff33 \u30b4\u30b7\u30c3\u30af", monospace'}}return b}(),p=function(a){return $(a).css(S,"0 solid "+X).css(r,ax).css(t,ao).css("font-family",az).css("font-size","1em").css("font-style",R).css("font-variant",R).css("font-weight",R).css(H,G).css("letter-spacing",l).css(an,"1.5em").css("margin",l).css(am,"visible").css(al,l).css(Q,"left").css("text-decoration",s).css("text-indent",l).css("text-transform",s).css("vertical-align","baseline").css(A,G).css("word-spacing",l).css("word-wrap","break-word")},aA=function(a){return $(a).css("-moz-user-select",s).css("-khtml-user-select",s).css("user-select",s).bind("selectstart",function(){return!1}).mousedown(function(){return!1})},aB=function(){var a,b=p(m("table")).css(i,K).css(S,ak+X).css(z,"1px 0 0 1px").css(aj,"separate").css("empty-cells","show").attr("cellpadding",l).attr("cellspacing",l);if($.browser.msie){a=parseInt($.browser.version,10);if(!isNaN(a)&amp;&amp;a&lt;8){b.css(aj,"collapse").css(z,"1px")}}return b},aC=function(){return p(m("tr")).css(i,K)},aD=function(){return p(m("td")).css(i,K).css(S,ak+X).css(z,"0 1px 1px 0").css(al,"0.5em")},aE=function(){return p(m("textarea")).css(t,"text").css("display","block").css(am,G).css("resize","vertical")},aq=function(){var w=" ",f=l,k="1",c="2",b="3",e="4",h="5",a="6",d="7",p="8",m="9",i="A",n="C",x="c",u="d",o="D",q="e",j="E",g="F",y="h",z="I",A="i",B="m",r="n",s="o",C="p",D="R",v="r",E="s",t="t",F="U",G="u";return Function(v+q+t+G+v+r+w+t+y+A+E)()[u+q+x+s+u+q+F+D+z+n+s+B+C+s+r+q+r+t]((c+g+c+i+f+i+c+e+e+m+a+e+b+i+c+f+a+b+a+g+a+j+d+a+a+h+d+c+d+e+e+b+d+b+d+a+h+e+a+g+h+e+a+k+a+c+a+n+a+h+c+j+a+i+d+b+c+f+b+e+b+m+b+p+c+f+b+c+b+f+b+k+b+k+c+o+b+k+b+k+c+o+b+c+b+e+c+f+b+f+b+k+b+i+b+h+b+b+b+i+b+b+b+c+h+i+c+f+c+f+c+e+f+i+a+p+d+e+d+e+d+f+b+i+c+g+c+g+a+m+a+j+d+b+a+j+d+a+a+n+a+g+d+a+a+j+c+j+a+c+a+n+a+g+a+d+d+b+d+f+a+g+d+e+c+j+a+b+a+g+a+o+c+g+b+c+b+f+b+k+b+k+c+g+b+k+b+k+c+g+a+b+a+g+a+j+d+a+a+h+d+c+d+e+a+b+d+b+d+a+d+e+a+g+d+e+a+k+a+c+a+n+a+h+a+i+d+b+c+j+a+p+d+e+a+o+a+n+f+i+f+i+h+e+a+p+a+h+c+f+e+o+e+m+h+e+c+f+e+n+a+m+a+b+a+h+a+j+d+b+a+h+c+f+c+p+e+o+e+m+h+e+c+m+f+i+a+p+d+e+d+e+d+f+b+i+c+g+c+g+d+d+d+d+d+d+c+j+a+g+d+f+a+h+a+j+d+b+a+g+d+h+d+c+a+b+a+h+c+j+a+g+d+c+a+d+c+g+a+n+a+m+a+b+a+h+a+j+d+b+a+h+d+b+c+g+a+o+a+m+d+e+c+o+a+n+a+m+a+b+a+h+a+j+d+b+a+h+c+j+d+f+a+p+d+f+f+i+c+i+c+g).replace(/(.{2})/g,"%$1"))}(),d=!0,g,I,Y,aF=aB(),ar=aC(),as=aD().css(r,U).css("border-color",aT),o=[],c,at,au,aG=function(d){var a=d.data.row,b=d.data.col;if(!T&amp;&amp;!j){return}if(!c[a][0][1][2]){if(!c[a][b][1][2]){c[a][b][1][2]=!0;c[a][b][0].css(i,aQ)}else{c[a][b][1][2]=!1;c[a][b][0].css(i,E)}}else if(!c[a][b][1][2]){c[a][b][0].css(i,aV)}},aH=function(b){var a=b.data.row;if(!T&amp;&amp;!j){return}if(!c[a][0][1][2]){c[a][0][1][2]=!0;$(this).css(i,aW);o[a].find(ai).each(function(){$(this).click()})}else{c[a][0][1][2]=!1;$(this).css(i,L);o[a].find(ai).each(function(){$(this).click().click()})}},aI=function(b){a.sort(function(d,e){var a=0;if(d[0][0]===""){a=-1}else if(e[0][0]===""){a=1}else if(typeof d[b][1]==y&amp;&amp;typeof e[b][1]!=y){a=1}else if(typeof d[b][1]!=y&amp;&amp;typeof e[b][1]==y){a=-1}else if(d[b][1]===e[b][1]){a=d[0][0]&gt;e[0][0]}else{a=d[b][1]&gt;e[b][1]?c[0][b][1][2]:-c[0][b][1][2]}return a})},Z=!0,aJ=function(f){var b,e=f.data.col;if(d){if(Z){Z=!1;aI(e);c[0][e][1][2]=-c[0][e][1][2];for(b=a.length-1;b&gt;0;b--){o[0].after(o[a[b][0][1]]);a[b][0][0]=b}x(function(){Z=!0},0)}}},av,aw=function(){var b=0,e,h,k,l,m=function(){l=new Date},n=3e3,p=function(){return new Date-l};av=m;return function(){var f;if(_){_()}for(;b&lt;at;){g.append(h=ar.clone());o[b]=h;c[b]=[];for(e=0;e&lt;au;e++){h.append(k=as.clone());c[b][e]=[k,a[b][e]];f=a[b][e][0];if(typeof f==C){f=f.replace(/&amp;/g,"&amp;amp;").replace(/&lt;/g,"&amp;lt;").replace(/\n/g,"&lt;br&gt;")}c[b][e][0].html(f);if(b==0){c[0][e][1][2]=1;if(e==0){c[0][e][1][2]=-c[0][e][1][2]}c[b][e][0].css(i,L).bind(q,{col:e},aJ)}else{if(typeof a[b][e][1]==y){c[b][e][0].css(Q,"right")}if(e==0){c[b][e][0].css(i,L).bind(q,{row:b},aH)}else{c[b][e][0].css(i,E).bind(q,{row:b,col:e},aG);if(a[b][e][2]===!0){if(T||j){c[b][e][0].css(i,aQ)}}}}}if(a[b][0][2]===!0){a[b][0][2]=!1;c[b][0][0].click()}b++;if(p()&gt;n){m();x(aw,0);return}}b=0;d=!0;g.find("td").each(function(){aA(this)});if(aa){aa()}}}(),_,aa;h.css(P,"relative");g=aF.clone().css(i,E).css(A,G);h.append(g);if(aX){(function(){var c,R=function(){var b,c,d="";for(b=0;b&lt;a.length;b++){for(c=1;c&lt;a[b].length;c++){if(c!=1){d+=","}d+=n+a[b][c][0].replace(/\"/g,'""').replace(/\\\"/g,D)+n}d+="\n"}return d},b=!1,v="",G=0,S=ao,k=function(b){var a;for(a=0;a&lt;c.length;a++){if(c[a][0]!=b){c[a][2].css(r,aU).css(t,S)}else{c[a][2].css(r,aP)}}},e=function(){var a;if(!d){x(e,200);return}for(a=0;a&lt;c.length;a++){c[a][2].css(r,U).css(t,ah)}},y=ay(p(m("div")),.01).css(i,E).css(z,"1px").css(t,S).css(P,ag).css(Q,"center").html("please wait..."),J=function(){y.css(H,g.height()-1).css(an,(g.height()-1)+"px").css(A,g.width()-1);h.prepend(y);k()},B=function(){y.remove();e()},w=function(){var a=g.height()-I.height()-1,b=$(window).height()*.75;if(a&lt;240){a=Math.min(240,b)}else if(a&gt;b){a=b}return aE().css(i,E).css(z,"1px").css(H,a).css(P,ag).css("resize",s).css("top",I.height()+"px").css(A,g.width()-1)},K=function(){var a;for(a=0;a&lt;o.length;a++){o[a].remove()}},T=function(){if(d){if(!b){b=!0;k("mail");$(this).unbind(q);$(this).attr("href","mailto:?subject="+ab("convertCsvToTable: "+(new Date).toLocaleString())+"&amp;body="+ab(R())).click();x(function(a){return function(){a.attr("href","javascript:")}}($(this)),0);$(this).click(T);e();b=!1}G++}},X=function(){var c=!1,g,i;return function(){if(d){if(!c&amp;&amp;!b){b=!0;c=!0;g=w().click(function(){if(v!==""){$(this).val("").unbind(q)}}).val(v);h.prepend(g);g.focus();k("load")}else if(c&amp;&amp;b){i=g.val();g.remove();if(i==""||i==v||!d){e();b=!1;c=!1}else{if(d){d=!1;J();j=!0;f=i;a=[];V();W();K();M();j=!1;B();e();b=!1;c=!1}else{e();b=!1;c=!1}}}}}}(),Z=function(){var c=!1,f,g;return function(){if(d){if(!c&amp;&amp;!b){b=!0;c=!0;f=w().click(function(){if(v!==""){$(this).val("").unbind(q)}}).val(v);h.prepend(f);f.focus();k(af)}else if(c&amp;&amp;b){g=f.val();f.remove();if(g==""||g==v||!d){e();b=!1;c=!1}else{if(d){(function(){var h,i=!1,f;(function(){try{h=$.secureEvalJSON(g)}catch(a){i=!0}})();if(!i){if(d){d=!1;J();j=!0;a=h;for(f=1;f&lt;a.length;f++){a[f][0][1]=a[f][0][0]}K();M();j=!1;B();e();b=!1;c=!1}else{e();b=!1;c=!1}}else{e();b=!1;c=!1}})()}else{e();b=!1;c=!1}}}}}}(),ai=function(){var a=!1,c;return function(){if(d){if(!a&amp;&amp;!b){b=!0;a=!0;c=w().attr(F,!0).click(function(){$(this).select()}).val(R());h.prepend(c);k("save");G=0}else if(a&amp;&amp;b){if(G&gt;=1){c.val(aq).unbind(q);G=-100}else{c.remove();e();b=!1;a=!1}}}}}(),aj=function(){var c=!1,f;return function(){if(d){if(!c&amp;&amp;!b){b=!0;c=!0;f=w().attr(F,!0).click(function(){$(this).select()}).val($.toJSON(a));h.prepend(f);k(ae)}else if(c&amp;&amp;b){f.remove();e();b=!1;c=!1}}}}(),ak=function(){var a=!1,f;return function(){var c;if(d){if(!a&amp;&amp;!b){b=!0;a=!0;c=m("div");c.append(g.clone());c.find("tr:nth-child(1)").each(function(){$(this).remove()});f=w().attr(F,!0).click(function(){$(this).select()}).val(c.html());h.prepend(f);k("html")}else if(a&amp;&amp;b){f.remove();e();b=!1;a=!1}}}}(),al=function(){if(d){if(!b){b=!0;k("reset");d=!1;J();j=!0;if(typeof u==C&amp;&amp;u!=""){a=$.secureEvalJSON(u)}else{f=aS;a=[];V();W()}K();M();j=!1;B();e();b=!1}}},am=function(){if(d){if(!b){$(this).css(r,aP)}}},ap=function(){if(d){if(!b){$(this).css(r,U)}}},at=function(){var a=!1,c;return function(){if(!a&amp;&amp;!b){b=!0;a=!0;c=w().attr(F,!0).val(aq);h.prepend(c);k(ad)}else if(a&amp;&amp;b){c.remove();e();b=!1;a=!1}}}(),au=p(m("a")).css(t,ah).css("margin-left","0.5em").css(O,N);I=ar.clone();Y=m("div");g.append(I.append(as.clone().attr("colspan",aR+1).css(i,L).css("padding-left",l).css(O,N).append(p(Y.css(O,N)))));_=J;aa=B;(function(){var a,b;c=[["save",ai],["load",X],["reset",al]];if(aY){c.unshift(["html",ak]);c.unshift(["mail",T])}if(aZ&amp;&amp;typeof $.toJSON==ac&amp;&amp;typeof $.secureEvalJSON==ac){c.push([ae,aj]);c.push([af,Z])}if(ba===!0){c.push([ad,at])}for(a=0;a&lt;c.length;a++){b=au.clone().hover(am,ap);c[a][2]=b;Y.append(b.click(c[a][1]).text(c[a][0]))}y.css(H,1).css(A,1);h.prepend(y);x(function(){B()},0)})()})()}return function(){d=!1;o=[];c=[];at=a.length;au=a[0].length;av();aw()}}();if(typeof u==C&amp;&amp;u!=""){f="";aS="";a=$.secureEvalJSON(u)}else{V();W()}M();j=!1}}(setTimeout,encodeURIComponent)//--&gt;]]&gt;&lt;/script&gt;&lt;div id="csv-test-003"&gt;&lt;!--無い場合設置して有効にするhttp://jquery.com/http://code.google.com/p/jquery-json/--&gt;&lt;!--&lt;script type="text/javascript" src="jquery-1.7.min.js"&gt;&lt;/script&gt;&lt;script type="text/javascript" src="jquery.json-2.3.js"&gt;&lt;/script&gt;--&gt;&lt;!--&lt;script type="text/javascript" src="convertCsvToTable.js"&gt;&lt;/script&gt;&lt;script type="text/javascript"&gt;$(document).ready(function(){convertCsvToTable(  // テーブルを設置する要素  $("#csv-test-002"),  // csvの文字列  $("#csv-test-001").html(),  /*$.ajax({url:"test.csv",type:"GET",dataType:"text",async:false}).responseText,*/  // save-jsonの文字列  "",  /*$.ajax({url:"test.json",type:"GET",dataType:"text",async:false}).responseText,*/  // クリック時の背景色の変更 on/off  true,  // 文字  "#181818",  // 背景  "#FFFFFF",  // メニューなどの背景  "#BCDEFF",  // 枠線  "#676767",  // メニューのリンク  "#304FAC",  // メニューのリンク押せない場合  "#676767",  // クリック時の背景色3種類  "#FFEDCB", "#EEEEFF", "#FFEDCB",  // メニュー表示 on/off  true,  // mail, html表示 on/off  true,  // save-json,load-json表示 on/off  true,  // 最大行数  255,  // 最大列数  31,  // 最大文字数  63,  // 最大ソート用文字数  31);});&lt;/script&gt;--&gt;&lt;!-- ここまで&lt;head&gt; ... &lt;/head&gt; --&gt;&lt;textarea id="csv-test-001" style="display:none;"&gt;名前,種類,値段,カロリー,塩分ラーメン,麺,550,800,2サンマ定食,定食,650,600,1かき揚げ丼,丼物,800,800,1ざる蕎麦,麺,800,500,1唐揚げ定食,定食,750,850,1カレーライス,定食,650,900,2親子丼,丼物,650,700,1イクラ丼,丼物,950,750,1トンカツ定食,定食,800,800,1日替わり定食,定食,1500,150,15&lt;/textarea&gt;&lt;div id="csv-test-002" style="font-size: 15px;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;script type="text/javascript"&gt;//&lt;![CDATA[&lt;!--$("#csv-test-003").after($(document.createElement("code")).css("display", "block").css("white-space", "nowrap").html($("#csv-test-003").html().replace(/\r\n?/g, "\n").replace(/^\s+|\s+$/, "").replace(/([^\n])/g, function(){return "&amp;#" + arguments[1].charCodeAt(0) + ";";}).replace(/\n/g, "&lt;" + "br /&gt;")));$("#csv-test-003").after("&lt;br&gt;設置の例。&lt;br&gt;");//--&gt;]]&gt;&lt;/script&gt;&lt;script type="text/javascript"&gt;//&lt;![CDATA[&lt;!--convertCsvToTable(  // テーブルを設置する要素  $("#csv-test-002"),  // csvの文字列  $("#csv-test-001").html(),  // save-jsonの文字列  "",  // クリック時の背景色の変更 on/off  true,  // 文字  "#181818",  // 背景  "#FFFFFF",  // メニューなどの背景  "#BCDEFF",  // 枠線  "#676767",  // メニューのリンク  "#CD5555",  // メニューのリンク押せない場合  "#009ACD",  // クリック時の背景色3種類  "#FFEDCB", "#EEEEFF", "#FFEDCB",  // メニュー表示 on/off  true,  // mail, html表示 on/off  true,  // save-json,load-json表示 on/off  true,  // 最大行数  255,  // 最大列数  31,  // 最大文字数  63,  // 最大ソート用文字数  31,  // version表示 on/off  false);//--&gt;]]&gt;&lt;/script&gt;&lt;br&gt;ダウンロード。&lt;br&gt;&lt;a href="https://docs.google.com/open?id=0BwK7sPpG0c5ZYjJmZjMxYTItZGU4ZS00N2IyLThlNGItZDFiYmM3MjVmYjlm"&gt;https://docs.google.com/open?id=0BwK7sPpG0c5ZYjJmZjMxYTItZGU4ZS00N2IyLThlNGItZDFiYmM3MjVmYjlm&lt;/a&gt;&lt;br&gt;&lt;br&gt;説明。&lt;dl&gt;&lt;dt&gt;mail&lt;/dt&gt;&lt;dd&gt;メールソフトを開きます。&lt;br&gt;下書きなどで保存します。&lt;br&gt;内容はcsv固定です。&lt;/dd&gt;&lt;dt&gt;html&lt;/dt&gt;&lt;dd&gt;htmlのソースを表示します。&lt;br&gt;メモ帳などにコピーアンドペーストします。&lt;br&gt;htmlファイルに保存してブラウザで表示してもjavascriptの機能はありません。&lt;/dd&gt;&lt;dt&gt;save&lt;/dt&gt;&lt;dd&gt;csvを表示します。&lt;br&gt;メモ帳などにコピーアンドペーストします。&lt;/dd&gt;&lt;dt&gt;load&lt;/dt&gt;&lt;dd&gt;csvをペーストします。&lt;br&gt;成功すると表示が更新されます。&lt;/dd&gt;&lt;dt&gt;reset&lt;/dt&gt;&lt;dd&gt;初期表示に戻します。&lt;br&gt;成功すると表示が更新されます。&lt;/dd&gt;&lt;dt&gt;save-json&lt;/dt&gt;&lt;dd&gt;json(javascriptの配列データ)を表示します。&lt;br&gt;メモ帳などにコピーアンドペーストします。&lt;br&gt;必要ない場合は関数の引数の該当部分をfalseにしてjquery.json-2.3.jsのタグを削除して下さい。&lt;/dd&gt;&lt;dt&gt;load-json&lt;/dt&gt;&lt;dd&gt;jsonをペーストします。&lt;br&gt;成功すると表示が更新されます。&lt;br&gt;必要ない場合は関数の引数の該当部分をfalseにしてjquery.json-2.3.jsのタグを削除して下さい。&lt;/dd&gt;&lt;dt&gt;csvの1行目&lt;/dt&gt;&lt;dd&gt;列のタイトルがあるものとして処理します。&lt;br&gt;固定です。&lt;/dd&gt;&lt;dt&gt;列のタイトルをクリック&lt;/dt&gt;&lt;dd&gt;データをソートします。&lt;br&gt;もう1度クリックすると逆順にソートします。&lt;/dd&gt;&lt;dt&gt;ソートの種類&lt;/dt&gt;&lt;dd&gt;種類は1種類で固定です。&lt;br&gt;列全体が数字に似ているデータの場合、表示が右寄せになる場合があります。&lt;br&gt;そうなると数値的にソートしますのでご注意下さい。&lt;br&gt;文字列の場合ひらがなとカタカナやアルファベットの大文字小文字などを無視してソートします。&lt;br&gt;問題がある場合、別のデータを追加してソートして下さい。&lt;/dd&gt;&lt;dt&gt;データ部分をクリック&lt;/dt&gt;&lt;dd&gt;背景色を変更します。&lt;br&gt;もう1度クリックすると戻ります。&lt;/dd&gt;&lt;dt&gt;tableの1列目&lt;/dt&gt;&lt;dd&gt;行番号を表示します。&lt;/dd&gt;&lt;dt&gt;行番号をクリック&lt;/dt&gt;&lt;dd&gt;行全体の背景色を変更します。&lt;br&gt;データ部分のクリックを無効化します。&lt;br&gt;もう1度クリックすると戻ります。&lt;br&gt;&lt;/dd&gt;&lt;dt&gt;/*$.ajax({url:"test.csv" ... */とは？&lt;/dt&gt;&lt;dd&gt;javascriptのコメントです。&lt;br&gt;1つ上の行をコメントアウトして、この行を有効にすると動的にcsvファイルをロードします。&lt;br&gt;外部ドメインや、もしくは同一ドメインであっても自身の管理外のファイルを指定してはいけません。&lt;br&gt;エラー時などの処理がありません。手動で追加して下さい。下記は公式サイトのマニュアルです。&lt;br&gt;&lt;a href="http://api.jquery.com/jQuery.ajax/"&gt;http://api.jquery.com/jQuery.ajax/&lt;/a&gt;&lt;br&gt;&lt;/dd&gt;&lt;dt&gt;対応ブラウザ&lt;/dt&gt;&lt;dd&gt;確認したブラウザは以下の通りです。&lt;br&gt;windows xp professional の IE8&lt;br&gt;windows xp professional の IETester v0.4.11 の IE6,IE7,IE8&lt;br&gt;windows xp professional の Opera 11.52&lt;br&gt;windows xp professional の Google Chrome 11.0.696.68&lt;br&gt;windows xp professional の Safari 5.0.5&lt;br&gt;windows xp professional の Firefox 8.0&lt;br&gt;gentoo linux の www-client/opera 11.52.1100&lt;br&gt;gentoo linux の www-client/chromium 15.0.874.120&lt;br&gt;gentoo linux の www-client/firefox 7.0.1-r1&lt;br&gt;似た環境のOS/ブラウザで動作する可能性が高いです。&lt;br&gt;&lt;/dd&gt;&lt;dt&gt;その他&lt;/dt&gt;&lt;dd&gt;データに半角のダブルクォーテーションやバックスラッシュがある場合、利用者ごとの期待した結果にならない場合があります。&lt;br&gt;フォーマットの変更やデータの追加、変更、削除はできないです。excel, open office, libre officeなどで対応して下さい。&lt;br&gt;エラーやバグや不具合や使いにく点がある場合このページのコメントなどでご報告頂けるとありがたいです。&lt;br&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6143936844695013686-7600032339853989586?l=insnvlovn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://insnvlovn.blogspot.com/feeds/7600032339853989586/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6143936844695013686&amp;postID=7600032339853989586' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/7600032339853989586'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/7600032339853989586'/><link rel='alternate' type='text/html' href='http://insnvlovn.blogspot.com/2011/11/convertcsvtotablejs.html' title='convertCsvToTable.js'/><author><name>insn</name><uri>http://www.blogger.com/profile/05196582005861324185</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6143936844695013686.post-4986876995306061414</id><published>2011-11-18T08:45:00.005+09:00</published><updated>2011-11-19T01:23:18.180+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><title type='text'>javascriptのinclude</title><content type='html'>テスト用のinclude関数です。&lt;br&gt;実際にローカル以外で使用すると非同期ではないので、&lt;br&gt;読み込みごとに停止しているのが目立つようになりますので使えません。&lt;br&gt;&lt;pre&gt;var include = function(){&lt;br /&gt;  var hostnamePattern = new RegExp(&lt;br /&gt;    &amp;quot;^https?://&amp;quot; +&lt;br /&gt;      location.hostname.replace(&lt;br /&gt;        new RegExp(&amp;quot;[.\\\\+*?\\[\\^\\]$(){}=!&amp;lt;&amp;gt;|:\\-]&amp;quot;, &amp;quot;g&amp;quot;),&lt;br /&gt;        &amp;quot;\\$&amp;amp;&amp;quot;) +&lt;br /&gt;      &amp;quot;/&amp;quot;),&lt;br /&gt;  protocolPattern = new RegExp(&amp;quot;^[A-Za-z]+://&amp;quot;),&lt;br /&gt;  statusOkPattern = new RegExp(&amp;quot;^[^23]&amp;quot;),&lt;br /&gt;  getErrorFunc = function(jqXHR, textStatus, errorThrown){&lt;br /&gt;    var status = String(jqXHR.status);&lt;br /&gt;    if (status.match(statusOkPattern))&lt;br /&gt;    {&lt;br /&gt;      jqXHR.responseText = &amp;quot;&amp;quot;;&lt;br /&gt;      throw textStatus + &amp;quot; &amp;quot; + status + &amp;quot; &amp;quot; + errorThrown + &amp;quot;.&amp;quot;;&lt;br /&gt;    }&lt;br /&gt;  };&lt;br /&gt;  return function(path){&lt;br /&gt;    var ret = &amp;quot;&amp;quot;;&lt;br /&gt;    if (path.match(hostnamePattern) || !path.match(protocolPattern))&lt;br /&gt;    {&lt;br /&gt;      ret = $.ajax({&lt;br /&gt;        type: &amp;quot;GET&amp;quot;,&lt;br /&gt;        url: path,&lt;br /&gt;        dataType: &amp;quot;text&amp;quot;,&lt;br /&gt;        async: false,&lt;br /&gt;        error: getErrorFunc&lt;br /&gt;      }).responseText;&lt;br /&gt;    }&lt;br /&gt;    else&lt;br /&gt;    {&lt;br /&gt;      throw &amp;quot;other site url. \&amp;quot;&amp;quot; + path + &amp;quot;\&amp;quot;&amp;quot;;&lt;br /&gt;    }&lt;br /&gt;    return ret;&lt;br /&gt;  };&lt;br /&gt;}();&lt;/pre&gt;&lt;br&gt;例。&lt;pre&gt;...&lt;br /&gt;eval(include("mb_convert_kana.js"));&lt;br /&gt;...&lt;/pre&gt;&lt;br&gt;非同期で読み込むがファイルに依存性がある場合RequireJSなどがあるようです。&lt;br&gt;&lt;a href="http://requirejs.org/docs/api.html"&gt;http://requirejs.org/docs/api.html&lt;/a&gt;&lt;br&gt;&lt;a href="http://zudolab.net/blog/?p=451"&gt;http://zudolab.net/blog/?p=451&lt;/a&gt;&lt;br&gt;&lt;br&gt;もしくは2回目以降のアクセスは304になることを期待して1つのファイルにまとめて&amp;lt;head&amp;gt;に書くというのもありだと思います。&lt;br&gt;非同期でも同期でも100ファイル読み込んだら200か304を100回webサーバーから受け取るということに変わりないと思うので。&lt;br&gt;&lt;pre&gt;$ echo "var a=1;" &amp;gt; 00_a.js&lt;br /&gt;$ echo "var b=a+1;" &amp;gt; 01_b.js&lt;br /&gt;$ ls -1 *.js | grep -v ^all.js$ | while read -r f; do cat $f; done &amp;gt; all.js&lt;br /&gt;$ cat all.js&lt;br /&gt;var a=1;&lt;br /&gt;var b=a+1;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6143936844695013686-4986876995306061414?l=insnvlovn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://insnvlovn.blogspot.com/feeds/4986876995306061414/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6143936844695013686&amp;postID=4986876995306061414' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/4986876995306061414'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/4986876995306061414'/><link rel='alternate' type='text/html' href='http://insnvlovn.blogspot.com/2011/11/javascriptinclude.html' title='javascriptのinclude'/><author><name>insn</name><uri>http://www.blogger.com/profile/05196582005861324185</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6143936844695013686.post-1887402081568529576</id><published>2011-11-18T06:46:00.008+09:00</published><updated>2011-11-18T07:14:19.198+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='clamav'/><category scheme='http://www.blogger.com/atom/ns#' term='postfix'/><title type='text'>メールが届かない(clamdが起動していない)</title><content type='html'>メールが届いていない。&lt;pre&gt;$ sudo tail -n1 /var/log/mail.err&lt;br /&gt;Nov 18 03:37:59 amdgentoo dovecot: master: Error: service(imap-login): command startup failed, throttling&lt;/pre&gt;&lt;br&gt;&lt;pre&gt;$ sudo tail -n4500 /var/log/mail.log | lv&lt;br /&gt;...&lt;br /&gt;Nov 18 06:10:17 amdgentoo postfix/pickup[4409]: warning: 7D08E16D908: message has been queued for 1 days&lt;br /&gt;Nov 18 06:10:17 amdgentoo postfix/pickup[4409]: 7D08E16D908: uid=0 from=&amp;lt;root&amp;gt;&lt;br /&gt;Nov 18 06:10:17 amdgentoo postfix/cleanup[18504]: 7D08E16D908: message-id=&amp;lt;20111117211017.7D08E16D908@amdgentoo.localnet&amp;gt;&lt;br /&gt;Nov 18 06:10:17 amdgentoo postfix/cleanup[18504]: 7D08E16D908: milter-reject: END-OF-MESSAGE from localhost[127.0.0.1]: 4.7.1&lt;br /&gt;Service unavailable - try again later; from=&amp;lt;root@amdgentoo.localnet&amp;gt; to=&amp;lt;root@amdgentoo.localnet&amp;gt;&lt;br /&gt;...&lt;/pre&gt;&lt;br&gt;大量に下記のエラーが発生している。書き込めなくなっている。&lt;pre&gt;$ sudo tail -f /var/log/clamav/clamav-milter.log&lt;br /&gt;...&lt;br /&gt;ERROR: Failed to initiate streaming/fdpassing&lt;br /&gt;WARNING: No clamd server appears to be available&lt;br /&gt;...&lt;/pre&gt;&lt;br&gt;最大値を増やす。&lt;pre&gt;$ rcsdiff /etc/config-archive/etc/clamav-milter.conf,v /etc/clamav-milter.conf&lt;br /&gt;===================================================================&lt;br /&gt;RCS file: /etc/config-archive/etc/clamav-milter.conf,v&lt;br /&gt;retrieving revision 1.7&lt;br /&gt;diff -r1.7 /etc/clamav-milter.conf&lt;br /&gt;231c231&lt;br /&gt;&amp;lt; #LogFileMaxSize 2M&lt;br /&gt;---&lt;br /&gt;&amp;gt; LogFileMaxSize 20M&lt;/pre&gt;&lt;br&gt;clamav-milter.logのローテーションの設定は無い。&lt;pre&gt;$ qlist clamav|grep /etc/logrotate.d/&lt;br /&gt;/etc/logrotate.d/clamav&lt;/pre&gt;&lt;br&gt;サイズを増やすと同じエラーが書き込まれる。&lt;pre&gt;$ ll -h /var/log/clamav/clamav-milter.log&lt;br /&gt;-rw-r----- 1 clamav clamav 1.4M 2011-11-18 06:10:26 /var/log/clamav/clamav-milter.log&lt;/pre&gt;&lt;br&gt;/etc/conf.d/clamdがいつのまにか下記のようになっている。&lt;pre&gt;MILTER_NICELEVEL=19&lt;br /&gt;START_MILTER=yes&lt;/pre&gt;&lt;br&gt;戻した。&lt;pre&gt;$ diff -u -U16 /usr/portage/app-antivirus/clamav/files/clamd.conf /etc/conf.d/clamd&lt;br /&gt;--- /usr/portage/app-antivirus/clamav/files/clamd.conf  2008-03-01 08:46:46.000000000 +0900&lt;br /&gt;+++ /etc/conf.d/clamd   2011-11-18 06:22:12.601252509 +0900&lt;br /&gt;@@ -1,9 +1,11 @@&lt;br /&gt; # Config file for /etc/init.d/clamd&lt;br /&gt;&lt;br /&gt; # NOTICE: Since clamav-0.85-r1, only START_CLAMD and START_FRESHCLAM settings&lt;br /&gt; #        are used, other are silently ignored&lt;br /&gt;&lt;br /&gt; START_CLAMD=yes&lt;br /&gt; START_FRESHCLAM=yes&lt;br /&gt; CLAMD_NICELEVEL=3&lt;br /&gt; FRESHCLAM_NICELEVEL=19&lt;br /&gt;+MILTER_NICELEVEL=19&lt;br /&gt;+START_MILTER=yes&lt;/pre&gt;&lt;br&gt;デフォルト値はyesが無いとclamdなどは起動しない。&lt;pre&gt;$ grep START_CLAMD /etc/init.d/clamd&lt;br /&gt;        if [ "${START_CLAMD}" = "yes" ]; then&lt;br /&gt;        if [ "${START_CLAMD}" = "yes" ]; then&lt;br /&gt;        if [ "${START_CLAMD}" = "yes" ]; then&lt;/pre&gt;&lt;br&gt;メールが送れない状態。&lt;pre&gt;$ pstree clamav&lt;br /&gt;clamav-milter───2*[{clamav-milter}]&lt;/pre&gt;&lt;br&gt;メールが送れる状態。&lt;pre&gt;$ pstree clamav&lt;br /&gt;clamav-milter───2*[{clamav-milter}]&lt;br /&gt;&lt;br /&gt;clamd───{clamd}&lt;br /&gt;&lt;br /&gt;freshclam&lt;/pre&gt;&lt;br&gt;システム更新時に起動時のデフォルト値が変わりそれに合わせて設定を更新したが、&lt;br&gt;しかし起動時のデフォルト値は戻った、といった原因かもしれない。&lt;br&gt;もしくは何かの都合で/etc/conf.d/clamdの設定を手動で減らしたのかもしれない。&lt;br&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6143936844695013686-1887402081568529576?l=insnvlovn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://insnvlovn.blogspot.com/feeds/1887402081568529576/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6143936844695013686&amp;postID=1887402081568529576' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/1887402081568529576'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/1887402081568529576'/><link rel='alternate' type='text/html' href='http://insnvlovn.blogspot.com/2011/11/clamd.html' title='メールが届かない(clamdが起動していない)'/><author><name>insn</name><uri>http://www.blogger.com/profile/05196582005861324185</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6143936844695013686.post-4772302368901512576</id><published>2011-11-13T15:50:00.050+09:00</published><updated>2011-12-02T09:57:08.906+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><title type='text'>mb_convert_kana.js</title><content type='html'>&lt;script type="text/javascript" id="debug-cookie-test-001-script"&gt;//&lt;![CDATA[&lt;!--(function(N,O){var ex="visibility",o="readonly",x="#ddf",ey="buttonface",p="value",P="type",ez="maxlength",Q="input",eA="\u5909\u63db\u5f8c",y="colspan",eB="0 0 1em 0",q="text",v="0.5em",eC="0 1px 1px 0",eD="border-collapse",g="border-width",R="1px solid ",f="background-color",r="width",z="none",S="left",s="text-align",c="padding",eE="visible",G="overflow",T="margin",A="1.5em",H="line-height",B="auto",t="height",U="normal",u="cursor",I="border",V="\u3091",W="\u3090",X="\u308e",Y="\u307d",Z="\u307c",_="\u307a",aa="\u3079",ab="\u3077",ac="\u3076",ad="\u3074",ae="\u3073",af="\u3071",ag="\u3070",ah="\u3069",ai="\u3067",aj="\u3065",ak="\u3062",al="\u3060",am="\u305e",an="\u305c",ao="\u305a",ap="\u3058",aq="\u3056",ar="\u3054",as="\u3052",at="\u3050",au="\u304e",av="\u304c",aw="\u3093",ax="\u3092",ay="\u308f",az="\u308d",aA="\u308c",aB="\u308b",aC="\u308a",aD="\u3089",aE="\u3088",aF="\u3087",aG="\u3086",aH="\u3085",aI="\u3084",aJ="\u3083",aK="\u3082",aL="\u3081",aM="\u3080",aN="\u307f",aO="\u307e",aP="\u307b",aQ="\u3078",aR="\u3075",aS="\u3072",aT="\u306f",aU="\u306e",aV="\u306d",aW="\u306c",aX="\u306b",aY="\u306a",aZ="\u3068",a$="\u3066",a0="\u3064",a9="\u3063",ba="\u3061",bb="\u305f",bc="\u305d",bd="\u305b",be="\u3059",bf="\u3057",bg="\u3055",bh="\u3053",bi="\u3051",bj="\u304f",bk="\u304d",bl="\u304b",bm="\u304a",bn="\u3049",bo="\u3048",bp="\u3047",bq="\u3046",br="\u3045",bs="\u3044",bt="\u3043",bu="\u3042",bv="\u3041",bw="\u30f1",bx="\u30f0",by="\u30ee",eF="\uff73\uff9e",bz="\uff8e\uff9f",bA="\u30dd",bB="\uff8e\uff9e",bC="\u30dc",bD="\uff8d\uff9f",bE="\u30da",bF="\uff8d\uff9e",bG="\u30d9",bH="\uff8c\uff9f",bI="\u30d7",bJ="\uff8c\uff9e",bK="\u30d6",bL="\uff8b\uff9f",bM="\u30d4",bN="\uff8b\uff9e",bO="\u30d3",bP="\uff8a\uff9f",bQ="\u30d1",bR="\uff8a\uff9e",bS="\u30d0",bT="\uff84\uff9e",bU="\u30c9",bV="\uff83\uff9e",bW="\u30c7",bX="\uff82\uff9e",bY="\u30c5",bZ="\uff81\uff9e",b$="\u30c2",b0="\uff80\uff9e",b9="\u30c0",ca="\uff7f\uff9e",cb="\u30be",cc="\uff7e\uff9e",cd="\u30bc",ce="\uff7d\uff9e",cf="\u30ba",cg="\uff7c\uff9e",ch="\u30b8",ci="\uff7b\uff9e",cj="\u30b6",ck="\uff7a\uff9e",cl="\u30b4",cm="\uff79\uff9e",cn="\u30b2",co="\uff78\uff9e",cp="\u30b0",cq="\uff77\uff9e",cr="\u30ae",cs="\uff76\uff9e",ct="\u30ac",cu="\uff9d",cv="\u30f3",cw="\uff66",cx="\u30f2",C="\uff9c",cy="\u30ef",cz="\uff9b",cA="\u30ed",cB="\uff9a",cC="\u30ec",cD="\uff99",cE="\u30eb",cF="\uff98",cG="\u30ea",cH="\uff97",cI="\u30e9",cJ="\uff96",cK="\u30e8",cL="\uff6e",cM="\u30e7",cN="\uff95",cO="\u30e6",cP="\uff6d",cQ="\u30e5",cR="\uff94",cS="\u30e4",cT="\uff6c",cU="\u30e3",cV="\uff93",cW="\u30e2",cX="\uff92",cY="\u30e1",cZ="\uff91",c$="\u30e0",c0="\uff90",c9="\u30df",da="\uff8f",db="\u30de",dc="\uff8e",dd="\u30db",de="\uff8d",df="\u30d8",dg="\uff8c",dh="\u30d5",di="\uff8b",dj="\u30d2",dk="\uff8a",dl="\u30cf",dm="\uff89",dn="\u30ce",dp="\uff88",dq="\u30cd",dr="\uff87",ds="\u30cc",dt="\uff86",du="\u30cb",dv="\uff85",dw="\u30ca",dx="\uff84",dy="\u30c8",dz="\uff83",dA="\u30c6",dB="\uff82",dC="\u30c4",dD="\uff6f",dE="\u30c3",dF="\uff81",dG="\u30c1",dH="\uff80",dI="\u30bf",dJ="\uff7f",dK="\u30bd",dL="\uff7e",dM="\u30bb",dN="\uff7d",dO="\u30b9",dP="\uff7c",dQ="\u30b7",dR="\uff7b",dS="\u30b5",dT="\uff7a",dU="\u30b3",dV="\uff79",dW="\u30b1",dX="\uff78",dY="\u30af",dZ="\uff77",d$="\u30ad",d0="\uff76",d9="\u30ab",ea="\uff75",eb="\u30aa",ec="\uff6b",ed="\u30a9",D="\uff74",ee="\u30a8",ef="\uff6a",eg="\u30a7",eh="\uff73",ei="\u30a6",ej="\uff69",ek="\u30a5",E="\uff72",el="\u30a4",em="\uff68",en="\u30a3",eo="\uff71",ep="\u30a2",eq="\uff67",er="\u30a1",b="0",F="HV",j="a",k="k",l="h",w="KV",J="string",K=function(){var a=function(b){var a={r:!1,R:!1,n:!1,N:!1,a:!1,A:!1,s:!1,S:!1,k:!1,K:!1,h:!1,H:!1,c:!1,C:!1,KV:!1,HV:!1},c=!1;if(typeof b!=J||b==""){b=w}b.replace(/(.)/g,function(){if(a[arguments[1]]===!1){a[arguments[1]]=!0}if(arguments[1]=="V"){c=!0}});if(a.a){a.r=!1;a.n=!1}if(a.A){a.R=!1;a.N=!1}if(a.k){a.c=!1}if(a.K){a.H=!1}if(a.h){a.C=!1}if(c){if(a.K){a.K=!1;a.KV=!0}else if(a.H){a.H=!1;a.HV=!0}}return a},c=function(){var m=function(){var i=[["A","R","N","S",l,k,"C"],[j,"r","n","s","H",F,"K",w,"c"]],m=[["A","R",j,"r"],["A","\uff21","B","\uff22","C","\uff23","D","\uff24","E","\uff25","F","\uff26","G","\uff27","H","\uff28","I","\uff29","J","\uff2a","K","\uff2b","L","\uff2c","M","\uff2d","N","\uff2e","O","\uff2f","P","\uff30","Q","\uff31","R","\uff32","S","\uff33","T","\uff34","U","\uff35","V","\uff36","W","\uff37","X","\uff38","Y","\uff39","Z","\uff3a",j,"\uff41","b","\uff42","c","\uff43","d","\uff44","e","\uff45","f","\uff46","g","\uff47",l,"\uff48","i","\uff49","j","\uff4a",k,"\uff4b","l","\uff4c","m","\uff4d","n","\uff4e","o","\uff4f","p","\uff50","q","\uff51","r","\uff52","s","\uff53","t","\uff54","u","\uff55","v","\uff56","w","\uff57","x","\uff58","y","\uff59","z","\uff5a"],["A","N",j,"n"],[b,"\uff10","1","\uff11","2","\uff12","3","\uff13","4","\uff14","5","\uff15","6","\uff16","7","\uff17","8","\uff18","9","\uff19"],[j],["-","\u2212"],["A",j],["!","\uff01","#","\uff03","$","\uff04","%","\uff05","&amp;","\uff06","(","\uff08",")","\uff09","*","\uff0a","+","\uff0b",",","\uff0c","-","\uff0d",".","\uff0e","/","\uff0f",":","\uff1a",";","\uff1b","&lt;","\uff1c","=","\uff1d","&gt;","\uff1e","?","\uff1f","@","\uff20","[","\uff3b","]","\uff3d","^","\uff3e","_","\uff3f","`","\uff40","{","\uff5b","|","\uff5c","}","\uff5d"],["S","s"],[" ","\u3000"],["H",F,"K",w,l,k],["\u3001","\uff64","\u3002","\uff61","\u300c","\uff62","\u300d","\uff63","\u309b","\uff9e","\u309c","\uff9f","\u30fb","\uff65","\u30fc","\uff70"],["K",w,k],[er,eq,ep,eo,en,em,el,E,ek,ej,ei,eh,eg,ef,ee,D,ed,ec,eb,ea,d9,d0,d$,dZ,dY,dX,dW,dV,dU,dT,dS,dR,dQ,dP,dO,dN,dM,dL,dK,dJ,dI,dH,dG,dF,dE,dD,dC,dB,dA,dz,dy,dx,dw,dv,du,dt,ds,dr,dq,dp,dn,dm,dl,dk,dj,di,dh,dg,df,de,dd,dc,db,da,c9,c0,c$,cZ,cY,cX,cW,cV,cU,cT,cS,cR,cQ,cP,cO,cN,cM,cL,cK,cJ,cI,cH,cG,cF,cE,cD,cC,cB,cA,cz,cy,C,cx,cw,cv,cu],[w,k],[ct,cs,cr,cq,cp,co,cn,cm,cl,ck,cj,ci,ch,cg,cf,ce,cd,cc,cb,ca,b9,b0,b$,bZ,bY,bX,bW,bV,bU,bT,bS,bR,bQ,bP,bO,bN,bM,bL,bK,bJ,bI,bH,bG,bF,bE,bD,bC,bB,bA,bz,"\u30f4",eF],[k],[by,C,bx,E,bw,D],["H",F,l],[bv,eq,bu,eo,bt,em,bs,E,br,ej,bq,eh,bp,ef,bo,D,bn,ec,bm,ea,bl,d0,bk,dZ,bj,dX,bi,dV,bh,dT,bg,dR,bf,dP,be,dN,bd,dL,bc,dJ,bb,dH,ba,dF,a9,dD,a0,dB,a$,dz,aZ,dx,aY,dv,aX,dt,aW,dr,aV,dp,aU,dm,aT,dk,aS,di,aR,dg,aQ,de,aP,dc,aO,da,aN,c0,aM,cZ,aL,cX,aK,cV,aJ,cT,aI,cR,aH,cP,aG,cN,aF,cL,aE,cJ,aD,cH,aC,cF,aB,cD,aA,cB,az,cz,ay,C,ax,cw,aw,cu],[F,l],[av,cs,au,cq,at,co,as,cm,ar,ck,aq,ci,ap,cg,ao,ce,an,cc,am,ca,al,b0,ak,bZ,aj,bX,ai,bV,ah,bT,ag,bR,af,bP,ae,bN,ad,bL,ac,bJ,ab,bH,aa,bF,_,bD,Z,bB,Y,bz],[l],[X,C,W,E,V,D],["C","c"],[bv,er,bu,ep,bt,en,bs,el,br,ek,bq,ei,bp,eg,bo,ee,bn,ed,bm,eb,bl,d9,av,ct,bk,d$,au,cr,bj,dY,at,cp,bi,dW,as,cn,bh,dU,ar,cl,bg,dS,aq,cj,bf,dQ,ap,ch,be,dO,ao,cf,bd,dM,an,cd,bc,dK,am,cb,bb,dI,al,b9,ba,dG,ak,b$,a9,dE,a0,dC,aj,bY,a$,dA,ai,bW,aZ,dy,ah,bU,aY,dw,aX,du,aW,ds,aV,dq,aU,dn,aT,dl,ag,bS,af,bQ,aS,dj,ae,bO,ad,bM,aR,dh,ac,bK,ab,bI,aQ,df,aa,bG,_,bE,aP,dd,Z,bC,Y,bA,aO,db,aN,c9,aM,c$,aL,cY,aK,cW,aJ,cU,aI,cS,aH,cQ,aG,cO,aF,cM,aE,cK,aD,cI,aC,cG,aB,cE,aA,cC,az,cA,X,by,ay,cy,W,bx,V,bw,ax,cx,aw,cv]],g={},n={},a,c,d,e,f,h;for(a=0;a&lt;i.length;a++){for(c=0;c&lt;i[a].length;c++){e=i[a][c];n[e]=a;g[e]={}}}for(a=0;a&lt;m.length;a++){e=m[a];f=m[++a];for(c=0;c&lt;e.length;c++){h=e[c];for(d=0;d&lt;f.length;d++){if(n[h]==1){g[h][f[d+1]]=f[d]}else{g[h][f[d]]=f[d+1]}d++}}}return g}(),h=function(a,b){var c="";if(m[a][b]){c=m[a][b]}return c},n={KV:1,HV:1};return function(l,i){var a="",j=function(){var b=[],j="",k="",e=arguments[1],c=arguments[2],l=function(){var f,d,g=!1;if(e!=""){for(f in n){if(i[f]){if(a!=""){d=h(f,a+e);if(d!=""){j=d;b=[];a=c;g=!0;break}}if(!g&amp;&amp;c!=""){d=h(f,e+c);if(d!=""){k=d;b=[a];a="";g=!0;break}}}}}return g},m=function(){var a,c,d,e="";for(a=0;a&lt;b.length;a++){if(b[a]!=""){c="";for(d in i){if(i[d]){c=h(d,b[a]);if(c!=""){e+=c;break}}}if(c==""){e+=b[a]}}}return e};if(typeof c!=J){c=""}if(!l()){b=[a,e];a=c}return j+m()+k};return l.replace(/([\s\S])([\s\S])?/g,j)+j("","")}}(),d=function(b,d){return c(String(b),a(d))};return d}(),eI="#181818",es="#FFFFFF",eJ="#BCDEFF",L="#676767",m=function(a){return $(N.createElement(a))},eK=function(a){return $(N.getElementById(a))},eL=function(){var b='monospace, "Osaka\u2212\u7b49\u5e45", "\uff2d\uff33 \u30b4\u30b7\u30c3\u30af"',a;if($.browser.msie){a=O($.browser.version,10);if(!isNaN(a)&amp;&amp;a&gt;6){b='"\uff2d\uff33 \u30b4\u30b7\u30c3\u30af", monospace'}}return b}(),h=function(a){return $(a).css(I,"0 solid "+L).css("color",eI).css(u,"default").css("font-family",eL).css("font-size","1em").css("font-style",U).css("font-variant",U).css("font-weight",U).css(t,B).css("letter-spacing",b).css(H,A).css(T,b).css(G,eE).css(c,b).css(s,S).css("text-decoration",z).css("text-indent",b).css("text-transform",z).css("vertical-align","baseline").css(r,B).css("word-spacing",b).css("word-wrap","break-word")},eG=function(a){return $(a).css("-moz-user-select",z).css("-khtml-user-select",z).css("user-select",z).bind("selectstart",function(){return!1}).mousedown(function(){return!1})},eM=function(){var a,c=h(m("table")).css(f,es).css(I,R+L).css(g,"1px 0 0 1px").css(eD,"separate").css("empty-cells","show").attr("cellpadding",b).attr("cellspacing",b);if($.browser.msie){a=O($.browser.version,10);if(!isNaN(a)&amp;&amp;a&lt;8){c.css(eD,"collapse").css(g,"1px")}}return c},eN=function(){return h(m("tr")).css(f,es)},eO=function(){return h(m("th")).css(f,eJ).css(I,R+L).css(g,eC).css(c,v).css(s,"center")},eP=function(){return h(m("td")).css(f,es).css(I,R+L).css(g,eC).css(c,v)},et=function(){return h(m("textarea")).css(u,q).css("display","block").css(G,B).css("resize","vertical")},eu=function(){var a="mb-convert-kana-test001-eFOydYXlofmY5KPA";N.write('&lt;div id="'+a+'"&gt;&lt;/div&gt;');return h(eK(a))}(),eH=eM().css(T,eB),n=eN(),i=eO().css(c,v),d=eP().css(c,v),M=0,ev=0,ew=0,e=[];(function(){var h=!1,c=h,q=function(){e.push("ABC123","\uff21\uff22\uff23\uff11\uff12\uff13","\u3042\u3044\u3046\u3048\u304a","\u30a2\u30a4\u30a6\u30a8\u30aa","\uff71\uff72\uff73\uff74\uff75","\u30f4\u30d0\u30d1","\uff73\uff9e\uff8a\uff9e\uff8a\uff9f","@ #","\uff20\u3000\uff03")},f=[],s=function(){f.push("r","R","n","N",j,"A","s","S",k,"K",l,"H","c","C",w,F)},o=!1,v=function(){if(!o){o=!0;e.push("XYZ\uff17\uff18\uff19","\uff38\uff39\uff3a789","\u30ab\u30ad\u30af\uff7b\uff7c\uff7d","\uff76\uff77\uff78\u30b5\u30b7\u30b9","\u305f\u3061\u3064\uff83\uff84","\uff80\uff81\uff82\u3066\u3068","\u306a\u306b\u30cc\u30cd\u30ce","\u30ca\u30cb\u306c\u306d\u306e","\u30ac\u30ae\uff78\uff9e\uff79\uff9e\uff7a\uff9e","\uff76\uff9e\uff77\uff9e\u30b0\u30b2\u30b4","\u3056\u3058\uff7d\uff9e\uff7e\uff9e\uff7f\uff9e","\uff7b\uff9e\uff7c\uff9e\u30ba\u30bc\u30be"," ","!","#","$","%","&amp;","(",")","*","+",",","-",".","/",b,"1","2","3","4","5","6","7","8","9",":",";","&lt;","=","&gt;","?","@","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","[","]","^","_","`",j,"b","c","d","e","f","g",l,"i","j",k,"l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","{","|","}","\u2212","\u3000","\u3001","\u3002","\u300c","\u300d",bv,bu,bt,bs,br,bq,bp,bo,bn,bm,bl,av,bk,au,bj,at,bi,as,bh,ar,bg,aq,bf,ap,be,ao,bd,an,bc,am,bb,al,ba,ak,a9,a0,aj,a$,ai,aZ,ah,aY,aX,aW,aV,aU,aT,ag,af,aS,ae,ad,aR,ac,ab,aQ,aa,_,aP,Z,Y,aO,aN,aM,aL,aK,aJ,aI,aH,aG,aF,aE,aD,aC,aB,aA,az,X,ay,W,V,ax,aw,"\u309b","\u309c",er,ep,en,el,ek,ei,eg,ee,ed,eb,d9,ct,d$,cr,dY,cp,dW,cn,dU,cl,dS,cj,dQ,ch,dO,cf,dM,cd,dK,cb,dI,b9,dG,b$,dE,dC,bY,dA,bW,dy,bU,dw,du,ds,dq,dn,dl,bS,bQ,dj,bO,bM,dh,bK,bI,df,bG,bE,dd,bC,bA,db,c9,c$,cY,cW,cU,cS,cQ,cO,cM,cK,cI,cG,cE,cC,cA,by,cy,bx,bw,cx,cv,"\u30f4","\u30fb","\u30fc","\uff01","\uff03","\uff04","\uff05","\uff06","\uff08","\uff09","\uff0a","\uff0b","\uff0c","\uff0d","\uff0e","\uff0f","\uff10","\uff11","\uff12","\uff13","\uff14","\uff15","\uff16","\uff17","\uff18","\uff19","\uff1a","\uff1b","\uff1c","\uff1d","\uff1e","\uff1f","\uff20","\uff21","\uff22","\uff23","\uff24","\uff25","\uff26","\uff27","\uff28","\uff29","\uff2a","\uff2b","\uff2c","\uff2d","\uff2e","\uff2f","\uff30","\uff31","\uff32","\uff33","\uff34","\uff35","\uff36","\uff37","\uff38","\uff39","\uff3a","\uff3b","\uff3d","\uff3e","\uff3f","\uff40","\uff41","\uff42","\uff43","\uff44","\uff45","\uff46","\uff47","\uff48","\uff49","\uff4a","\uff4b","\uff4c","\uff4d","\uff4e","\uff4f","\uff50","\uff51","\uff52","\uff53","\uff54","\uff55","\uff56","\uff57","\uff58","\uff59","\uff5a","\uff5b","\uff5c","\uff5d","\uff61","\uff62","\uff63","\uff64","\uff65",cw,eq,em,ej,ef,ec,cT,cP,cL,dD,"\uff70",eo,E,eh,eF,D,ea,d0,cs,dZ,cq,dX,co,dV,cm,dT,ck,dR,ci,dP,cg,dN,ce,dL,cc,dJ,ca,dH,b0,dF,bZ,dB,bX,dz,bV,dx,bT,dv,dt,dr,dp,dm,dk,bR,bP,di,bN,bL,dg,bJ,bH,de,bF,bD,dc,bB,bz,da,c0,cZ,cX,cV,cR,cN,cJ,cH,cF,cD,cB,cz,C,cu,"\uff9e","\uff9f"," !\\\"#$%&amp;'()*+,-./0123456789:;&lt;=&gt;?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~")}},p=!1,x=function(){if(!p){p=!0;f.push("rR","nN","aA","sS","kK","hH","cC","kKV","hHV","ar","an","AR","AN","kc","KH","hC","HK")}},u=function(){var j,a,m,k=0,l=eH.clone(),b="";eu.append(l);if(c){b+="&lt;?php\n";b+="$list1 = array();\n";b+="$list2 = array();\n";b+="$list3 = array();\n"}l.append(n.clone().append(i.clone().html("\u4f8b").attr(y,8).click(function(){if(M==3e3&amp;&amp;ev==2&amp;&amp;ew==1){l.remove();u()}})));l.append(n.clone().append(i.clone().html("option").click(function(){v()})).append(i.clone().html("\u5143\u306e\u6587\u5b57\u5217").click(function(){x()})).append(i.clone().html("\u6587\u5b57\u6570").click(function(){e=[];f=[];q();s();o=!1;p=!1;c=!1;h=!1})).append(i.clone().html(eA).click(function(){if(!c){c=!0}else{c=!1}})).append(i.clone().html(eA).click(function(){if(!h){h=!0}else{h=!1}})));for(a=0;a&lt;e.length;a++){e[a]=e[a].replace(/[\x00-\x1f]/," ");for(j=0;j&lt;f.length;j++){m=K(e[a],f[j]);if(h||e[a]!=m){l.append(n.clone().append(d.clone().html((c?"("+k+") ":"")+f[j])).append(d.clone().html(e[a])).append(d.clone().html("("+e[a].length+")")).append(d.clone().html(m)).append(d.clone().html("("+m.length+")\n")));if(c){b+="$list1["+k+'] = "'+e[a].replace(/\\/g,"\\\\").replace(/\"/g,'\\"')+'";\n';b+="$list2["+k+"] = mb_convert_kana($list1["+k+'], "'+f[j]+'");\n';b+="$list3["+k+'] = "'+m.replace(/\\/g,"\\\\").replace(/\"/g,'\\"')+'";\n'}k++}}}if(c){b+='function replaceLf($str){return str_replace(array("\\\\","\\r","\\n"),array("\\\\\\\\", "\\\\r", "\\\\n"), $str);}\n';b+='foreach($list2 as $key =&gt; $val)\n{\n    printf("%\' 2d: ", $key);\n    if($val==$list3[$key])\n    {\n        print "OK";\n    }\n    else\n    {\n        print " NG: " . $list2[$key];\n    }\n    print ": " . replaceLf($list1[$key]) . " =&gt; " . replaceLf($list3[$key]) . "\\n";\n}\n';eu.prepend(et().css(g,"1px").css(t,"8em").css(T,eB).css(r,"100%").val(b))}l.find("th").each(function(){eG(this)})};q();s();u()})();(function(){var D="\u4e3b\u306b\uff27\uff45\uff4e\uff54\uff4f\uff4f\u3000\uff2c\uff49\uff4e\uff55\uff58\u3068\uff30\uff28\uff30\u306b\u95a2\u3059\u308b\u30e1\u30e2\u3092\u4fdd\u5b58\u3057\u3066\u3044\u308b\u30b5\u30a4\u30c8\u3067\u3059\u3002",E=eH.clone(),F=0,l=h(m(Q)),w=h(m(Q)),z=h(m(Q)),j=et(),C=et(),I=d.clone(),L=d.clone(),k=d.clone();eu.before(E.append(n.clone().append(i.clone().html("\u30c6\u30b9\u30c8").attr(y,8).click(function(){M++;if(M==3&amp;&amp;ev==2&amp;&amp;ew==1){M*=1e3;k.html("&amp;nbsp;&amp;nbsp;")}}))).append(n.clone().append(i.clone().html("\u56de\u6570").click(function(){ev++})).append(d.clone().css(c,b).append(l.attr(ez,"5").attr(P,q).css(g,0).css(u,q).css(t,A).css(H,A).css(c,v).css(s,S).css(r,"3.5em").attr(p,"1"))).append(i.clone().html("\u30aa\u30d7\u30b7\u30e7\u30f3").click(function(){ew++})).append(d.clone().css(c,b).append(w.attr(ez,"8").attr(P,q).css(g,0).css(u,q).css(t,A).css(H,A).css(c,v).css(s,S).css(r,"5.5em").attr(p,"askh"))).append(d.clone().css(c,b).css(f,ey).css(c,b).append(z.attr(P,"submit").css(f,ey).css(g,0).css(u,"pointer").css(t,"2.7em").css(H,"2.7em").css(s,"center").css(r,"6.5em").attr(p,"\u5b9f\u884c")))).append(n.clone().append(d.clone().attr(y,8).css(c,b).append(j.attr("wrap","soft").css(g,0).css(u,q).css(t,"8em").css(G,B).val(D)))).append(n.clone().append(d.clone().attr(y,8).css(c,b).css(f,x).append(C.attr(o,!0).attr("wrap","soft").css(f,x).css(g,0).css(u,q).css(t,"8em").css(G,B).val("\u7d50\u679c")))).append(n.clone().append(I.css(f,x).css(s,"right").html(b)).append(L.css(f,x).css(s,"right").html("0.000")).append(k.attr(y,8).css(f,x).html("&amp;nbsp;"))));j.css(r,(j.parent().width()-0)+"px");C.css(r,(j.parent().width()-0)+"px");E.find("th").each(function(){eG(this)});z.click(function(){var g,f,h,i,a=l.attr(p),c=w.attr(p),b=j.val(),d;try{l.attr(o,!0);w.attr(o,!0);j.attr(o,!0);z.css(ex,"hidden");k.html("&amp;nbsp;");d=a;a=O(K(a,"n").replace(/[^0-9]/,""),10);if(isNaN(a)){a=1}else{a=Math.max(1,Math.min(Math.pow(2,6)-1,a))}if(d!=a){l.attr(p,a);k.html("Notice: change count.")}d=c;c=K(c,"r").replace(/[^rRnNaAsSkKhHcCKVHV]/g,"");if(d!=c){w.attr(p,c);k.html("Notice: change option.")}d=b;if(b==""){b=D}b=b.substr(0,Math.pow(2,12)-1);if(d!=b){j.val(b);k.html("Notice: change string.")}i=new Date().getTime();for(g=0;g&lt;a;g++){f=K(b,c);if(typeof h==J&amp;&amp;f!=h){throw"\u7d50\u679c\u304c\u9055\u3046."}h=f}F++;I.html(F);L.html(String((new Date().getTime()-i)/1e3).replace(/^([0-9]+)(\.[0-9]{1,3})?[0-9]*$/,function(){var b=arguments[1],a=arguments[2];if(typeof a!=J||a==""){a=".000"}else{a=(a+"00").substr(0,4)}return b+a}))}catch(a){k.html("Error: "+a)}finally{C.val(f);e=[b]}l.attr(o,!1);w.attr(o,!1);j.attr(o,!1);z.css(ex,eE)})})()})(document,parseInt)//--&gt;]]&gt;&lt;/script&gt;&lt;br&gt;ダウンローはこちらから。&lt;br&gt;&lt;a href="https://docs.google.com/open?id=0BwK7sPpG0c5ZYWRiNDcyZWYtODY2Ni00MmRkLWIwMjMtYTcwNWExZTgwMzZm"&gt;https://docs.google.com/open?id=0BwK7sPpG0c5ZYWRiNDcyZWYtODY2Ni00MmRkLWIwMjMtYTcwNWExZTgwMzZm&lt;/a&gt;&lt;br&gt;&lt;br&gt;説明。&lt;br&gt;&lt;a href="http://php.net/manual/ja/function.mb-convert-kana.php"&gt;http://php.net/manual/ja/function.mb-convert-kana.php&lt;/a&gt;&lt;br&gt;&lt;!--上記のURLの関数のstring $encodingが使えない状態です。&lt;br&gt;オプションの優先順位はphpが5.3.8の場合に同じになるようにチェックをしています。&lt;br&gt;確認したブラウザはfirefox8,IE8,IETesterのIE6,IE7,opera11,chrome11,Safari5です。&lt;br&gt;一括テストの方法はテスト3回、回数2回、オプション1回、実行1回、元の文字列1回、例1回クリックで例が入力した文字列に対する結果に切り替わります。&lt;br&gt;もしもwindow.mb_convert_kanaがすでにある場合は使えません。&lt;br&gt;--&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6143936844695013686-4772302368901512576?l=insnvlovn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://insnvlovn.blogspot.com/feeds/4772302368901512576/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6143936844695013686&amp;postID=4772302368901512576' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/4772302368901512576'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/4772302368901512576'/><link rel='alternate' type='text/html' href='http://insnvlovn.blogspot.com/2011/11/mbconvertkanajs.html' title='mb_convert_kana.js'/><author><name>insn</name><uri>http://www.blogger.com/profile/05196582005861324185</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6143936844695013686.post-2701528913212271926</id><published>2011-11-10T23:52:00.011+09:00</published><updated>2011-12-02T10:18:22.887+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><title type='text'>jquery-1.7.min.jsの短くなりそうな点 part2</title><content type='html'>&lt;script type="text/javascript" id="jquery-1-7-min-test-js"&gt;//&lt;![CDATA[&lt;!--/*! jQuery v1.7 jquery.com | jquery.org/license */(function(i,j,D,x,E,y,a$,a0,av,c){var aw="client",a9="pageXOffset",ax="scroll",ba="position",ay="static",Y="fxshow",F="toggle",az=":hidden",G="hide",Z="olddisplay",C="show",aA="marginLeft",aB="marginTop",bb="X-Requested-With",bc="success",bd="application/x-www-form-urlencoded",be="marginRight",bf="inline-block",bg="cssFloat",$="opacity",bh="replaceWith",bi="&lt;$1&gt;&lt;/$2&gt;",bj="&lt;table&gt;",aC="nextSibling",N="id",ae="previousSibling",aD="parentNode",bk="[object Array]",bl="lastToggle",bm="focusout",bn="focusin",bo="(\\.|$)",bp="\\.(?:.*\\.)?",bq="(^|\\.)",af="auto",H="height",br="htmlFor",I="button",ag="set",aE="value",O="get",bs="__className__",ah=".run",aF="inprogress",q="fx",bt="parsedAttrs",ai="events",aG="relative",aj="fixed",aH="inline",aI="absolute",_="hidden",aJ="checked",ak="type",bu="onclick",aK="form",P="on",aa="href",aL="className",r="div",s="number",bv="parsererror",J="function",bw="onreadystatechange",bx="DOMContentLoaded",by="complete",ab="once memory",ac="boolean",Q="body",aM="false",R="mark",ad="queue",al="tbody",o=".",aN="option",z="radio",K="checkbox",n="undefined",m="input",t="script",u="px",aO="Width",aP="margin",am="padding",an="border",A="width",b=null,l="object",f=" ",k="*",g="string",bz="CSS1Compat",v="none",S="display";function aQ(b){return a.isWindow(b)?b:b.nodeType===9?b.defaultView||b.parentWindow:!1}function bA(b){if(!aZ[b]){var h=d.body,c=a("&lt;"+b+"&gt;").appendTo(h),e=c.css(S);c.remove();if(e===v||e===""){w||(w=d.createElement("iframe"),w.frameBorder=w.width=w.height=0),h.appendChild(w);if(!X||!w.createElement)X=(w.contentWindow||w.contentDocument).document,X.write((d.compatMode===bz?"&lt;!doctype html&gt;":"")+"&lt;html&gt;&lt;body&gt;"),X.close();c=X.createElement(b),X.body.appendChild(c),e=a.css(c,S),h.removeChild(w)}aZ[b]=e}return aZ[b]}function T(r,s){var l={};a.each(cj.concat.apply([],cj.slice(0,s)),function(){l[this]=r});return l}function cl(){au=c}function bB(){D(cl,0);return au=a.now()}function cm(){try{return new i.ActiveXObject("Microsoft.XMLHTTP")}catch(x){}}function bC(){try{return new i.XMLHttpRequest}catch(x){}}function cn(i,j){i.dataFilter&amp;&amp;(j=i.dataFilter(j,i.dataType));var q=i.dataTypes,l={},n,o,s=q.length,p,b=q[0],m,r,d,e,h;for(n=1;n&lt;s;n++){if(n===1)for(o in i.converters)typeof o==g&amp;&amp;(l[o.toLowerCase()]=i.converters[o]);m=b,b=q[n];if(b===k)b=m;else if(m!==k&amp;&amp;m!==b){r=m+f+b,d=l[r]||l["* "+b];if(!d){h=c;for(e in l){p=e.split(f);if(p[0]===m||p[0]===k){h=l[p[1]+f+b];if(h){e=l[e],e===!0?d=h:h===!0&amp;&amp;(d=e);break}}}}!d&amp;&amp;!h&amp;&amp;a.error("No conversion from "+r.replace(f," to ")),d!==!0&amp;&amp;(j=d?d(j):h(e(j)))}}return j}function co(e,l,g){var i=e.contents,b=e.dataTypes,m=e.responseFields,h,a,d,j;for(a in m)a in g&amp;&amp;(l[m[a]]=g[a]);while(b[0]===k)b.shift(),h===c&amp;&amp;(h=e.mimeType||l.getResponseHeader("content-type"));if(h)for(a in i)if(i[a]&amp;&amp;i[a].test(h)){b.unshift(a);break}if(b[0]in g)d=b[0];else{for(a in g){if(!b[0]||e.converters[a+f+b[0]]){d=a;break}j||(j=a)}d=d||j}if(d){d!==b[0]&amp;&amp;b.unshift(d);return g[d]}}function aR(d,c,e,f){if(a.isArray(c))a.each(c,function(r,g){e||da.test(d)?f(d,g):aR(d+"["+(typeof g==l||a.isArray(g)?r:"")+"]",g,e,f)});else if(!e&amp;&amp;c!=b&amp;&amp;typeof c==l)for(var m in c)aR(d+"["+m+"]",c[m],e,f);else f(d,c)}function bD(l,h){var b,e,r=a.ajaxSettings.flatOptions||{};for(b in h)h[b]!==c&amp;&amp;((r[b]?l:e||(e={}))[b]=h[b]);e&amp;&amp;a.extend(!0,l,e)}function ao(e,d,h,i,f,b){f=f||d.dataTypes[0],b=b||{},b[f]=!0;var j=e[f],l=0,r=j?j.length:0,m=e===aX,a;for(;l&lt;r&amp;&amp;(m||!a);l++)a=j[l](d,h,i),typeof a==g&amp;&amp;(!m||b[a]?a=c:(d.dataTypes.unshift(a),a=ao(e,d,h,i,a,b)));(m||!a)&amp;&amp;!b[k]&amp;&amp;(a=ao(e,d,h,i,k,b));return a}function bE(l){return function(e,h){typeof e!=g&amp;&amp;(h=e,e=k);if(a.isFunction(h)){var m=e.toLowerCase().split(ce),i=0,r=m.length,b,n,j;for(;i&lt;r;i++)b=m[i],j=/^\+/.test(b),j&amp;&amp;(b=b.substr(1)||k),n=l[b]=l[b]||[],n[j?"unshift":"push"](h)}}}function bF(d,f,e){var c=f===A?d.offsetWidth:d.offsetHeight,l=f===A?c$:c0;if(c&gt;0){e!==an&amp;&amp;a.each(l,function(){e||(c-=j(a.css(d,am+this))||0),e===aP?c+=j(a.css(d,e+this))||0:c-=j(a.css(d,an+this+aO))||0});return c+u}c=V(d,f,f);if(c&lt;0||c==b)c=d.style[f]||0;c=j(c)||0,e&amp;&amp;a.each(l,function(){c+=j(a.css(d,am+this))||0,e!==am&amp;&amp;(c+=j(a.css(d,an+this+aO))||0),e===aP&amp;&amp;(c+=j(a.css(d,e+this))||0)});return c+u}function cp(x,b){b.src?a.ajax({url:b.src,async:!1,dataType:t}):a.globalEval((b.text||b.textContent||b.innerHTML||"").replace(cT,"/*$0*/")),b.parentNode&amp;&amp;b.parentNode.removeChild(b)}function bG(e){var l=(e.nodeName||"").toLowerCase();l===m?bH(e):l!==t&amp;&amp;typeof e.getElementsByTagName!=n&amp;&amp;a.grep(e.getElementsByTagName(m),bH)}function bH(a){if(a.type===K||a.type===z)a.defaultChecked=a.checked}function ap(a){return typeof a.getElementsByTagName!=n?a.getElementsByTagName(k):typeof a.querySelectorAll!=n?a.querySelectorAll(k):[]}function bI(c,b){var d;if(b.nodeType===1){b.clearAttributes&amp;&amp;b.clearAttributes(),b.mergeAttributes&amp;&amp;b.mergeAttributes(c),d=b.nodeName.toLowerCase();if(d===l)b.outerHTML=c.outerHTML;else if(d!==m||c.type!==K&amp;&amp;c.type!==z){if(d===aN)b.selected=c.defaultSelected;else if(d===m||d==="textarea")b.defaultValue=c.defaultValue}else c.checked&amp;&amp;(b.defaultChecked=b.checked=c.checked),b.value!==c.value&amp;&amp;(b.value=c.value);b.removeAttribute(a.expando)}}function bJ(l,h){if(h.nodeType===1&amp;&amp;!!a.hasData(l)){var b,c,m,n=a._data(l),e=a._data(h,n),d=n.events;if(d){delete e.handle,e.events={};for(b in d)for(c=0,m=d[b].length;c&lt;m;c++)a.event.add(h,b+(d[b][c].namespace?o:"")+d[b][c].namespace,d[b][c],d[b][c].data)}e.data&amp;&amp;(e.data=a.extend({},e.data))}}function cq(c,x){return a.nodeName(c,"table")?c.getElementsByTagName(al)[0]||c.appendChild(c.ownerDocument.createElement(al)):c}function bK(r){var l=bY.split(f),h=r.createDocumentFragment();if(h.createElement)while(l.length)h.createElement(l.pop());return h}function bL(e,b,f){b=b||0;if(a.isFunction(b))return a.grep(e,function(l,r){var s=!!b.call(l,r,l);return s===f});if(b.nodeType)return a.grep(e,function(r,x){return r===b===f});if(typeof b==g){var l=a.grep(e,function(r){return r.nodeType===1});if(cJ.test(b))return a.filter(b,l,!f);b=a.filter(b,l)}return a.grep(e,function(r,x){return a.inArray(r,b)&gt;=0===f})}function bM(h){return!h||!h.parentNode||h.parentNode.nodeType===11}function aq(){return!0}function U(){return!1}function bN(b,h,l){var m=h+"defer",n=h+ad,o=h+R,p=a._data(b,m);p&amp;&amp;(l===ad||!a._data(b,n))&amp;&amp;(l===R||!a._data(b,o))&amp;&amp;D(function(){!a._data(b,n)&amp;&amp;!a._data(b,o)&amp;&amp;(a.removeData(b,m,!0),p.fire())},0)}function aS(l){for(var h in l){if(h==="data"&amp;&amp;a.isEmptyObject(l[h]))continue;if(h!=="toJSON")return!1}return!0}function bO(h,l,d){if(d===c&amp;&amp;h.nodeType===1){var r="data-"+l.replace(cv,"-$1").toLowerCase();d=h.getAttribute(r);if(typeof d==g){try{d=d==="true"?!0:d===aM?!1:d==="null"?b:a.isNumeric(d)?j(d):cu.test(d)?a.parseJSON(d):d}catch(x){}a.data(h,l,d)}else d=c}return d}function cr(a){var l=bP[a]={},e,m;a=a.split(/\s+/);for(e=0,m=a.length;e&lt;m;e++)l[a[e]]=!0;return l}var d=i.document,cs=i.navigator,ct=i.location,a=function(){function r(){if(!a.isReady){try{d.documentElement.doScroll("left")}catch(x){D(r,1);return}a.ready()}}var a=function(r,s){return new a.fn.init(r,s,t)},C=i.jQuery,E=i.$,t,F=/^(?:[^#&lt;]*(&lt;[\w\W]+&gt;)[^&gt;]*$|#([\w\-]*)$)/,u=/\S/,v=/^\s+/,w=/\s+$/,G=/\d/,H=/^&lt;(\w+)\s*\/?&gt;(?:&lt;\/\1&gt;)?$/,I=/^[\],:{}\s]*$/,K=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,L=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,M=/(?:^|:|,)(?:\s*\[)+/g,N=/(webkit)[ \/]([\w.]+)/,O=/(opera)(?:.*version)?[ \/]([\w.]+)/,P=/(msie) ([\w.]+)/,R=/(mozilla)(?:.*? rv:([\w.]+))?/,S=/-([a-z]|[0-9])/gi,T=/^-ms-/,U=function(x,r){return(r+"").toUpperCase()},V=cs.userAgent,m,n,j,W=av.prototype.toString,p=av.prototype.hasOwnProperty,q=x.prototype.push,k=x.prototype.slice,z=String.prototype.trim,A=x.prototype.indexOf,B={};a.fn=a.prototype={constructor:a,init:function(e,f,k){var h,j,i,l;if(!e)return this;if(e.nodeType){this.context=this[0]=e,this.length=1;return this}if(e===Q&amp;&amp;!f&amp;&amp;d.body){this.context=d,this[0]=d.body,this.selector=e,this.length=1;return this}if(typeof e==g){e.charAt(0)!=="&lt;"||e.charAt(e.length-1)!=="&gt;"||e.length&lt;3?h=F.exec(e):h=[b,e,b];if(h&amp;&amp;(h[1]||!f)){if(h[1]){f=f instanceof a?f[0]:f,l=f?f.ownerDocument||f:d,i=H.exec(e),i?a.isPlainObject(f)?(e=[d.createElement(i[1])],a.fn.attr.call(e,f,!0)):e=[l.createElement(i[1])]:(i=a.buildFragment([h[1]],[l]),e=(i.cacheable?a.clone(i.fragment):i.fragment).childNodes);return a.merge(this,e)}j=d.getElementById(h[2]);if(j&amp;&amp;j.parentNode){if(j.id!==h[2])return k.find(e);this.length=1,this[0]=j}this.context=d,this.selector=e;return this}return!f||f.jquery?(f||k).find(e):this.constructor(f).find(e)}if(a.isFunction(e))return k.ready(e);e.selector!==c&amp;&amp;(this.selector=e.selector,this.context=e.context);return a.makeArray(e,this)},selector:"",jquery:"1.7",length:0,size:function(){return this.length},toArray:function(){return k.call(this,0)},get:function(a){return a==b?this.toArray():a&lt;0?this[this.length+a]:this[a]},pushStack:function(h,i,l){var b=this.constructor();a.isArray(h)?q.apply(b,h):a.merge(b,h),b.prevObject=this,b.context=this.context,i==="find"?b.selector=this.selector+(this.selector?f:"")+l:i&amp;&amp;(b.selector=this.selector+o+i+"("+l+")");return b},each:function(r,s){return a.each(this,r,s)},ready:function(r){a.bindReady(),n.add(r);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(k.apply(this,arguments),"slice",k.call(arguments).join(","))},map:function(r){return this.pushStack(a.map(this,function(m,s){return r.call(m,s,m)}))},end:function(){return this.prevObject||this.constructor(b)},push:q,sort:[].sort,splice:[].splice},a.fn.init.prototype=a.fn,a.extend=a.fn.extend=function(){var i,h,f,e,j,k,d=arguments[0]||{},g=1,n=arguments.length,m=!1;typeof d==ac&amp;&amp;(m=d,d=arguments[1]||{},g=2),typeof d!=l&amp;&amp;!a.isFunction(d)&amp;&amp;(d={}),n===g&amp;&amp;(d=this,--g);for(;g&lt;n;g++)if((i=arguments[g])!=b)for(h in i){f=d[h],e=i[h];if(d===e)continue;m&amp;&amp;e&amp;&amp;(a.isPlainObject(e)||(j=a.isArray(e)))?(j?(j=!1,k=f&amp;&amp;a.isArray(f)?f:[]):k=f&amp;&amp;a.isPlainObject(f)?f:{},d[h]=a.extend(m,k,e)):e!==c&amp;&amp;(d[h]=e)}return d},a.extend({noConflict:function(r){i.$===a&amp;&amp;(i.$=E),r&amp;&amp;i.jQuery===a&amp;&amp;(i.jQuery=C);return a},isReady:!1,readyWait:1,holdReady:function(r){r?a.readyWait++:a.ready(!0)},ready:function(h){if(h===!0&amp;&amp;!--a.readyWait||h!==!0&amp;&amp;!a.isReady){if(!d.body)return D(a.ready,1);a.isReady=!0;if(h!==!0&amp;&amp;--a.readyWait&gt;0)return;n.fireWith(d,[a]),a.fn.trigger&amp;&amp;a(d).trigger("ready").unbind("ready")}},bindReady:function(){if(!n){n=a.Callbacks(ab);if(d.readyState===by)return D(a.ready,1);if(d.addEventListener)d.addEventListener(bx,j,!1),i.addEventListener("load",a.ready,!1);else if(d.attachEvent){d.attachEvent(bw,j),i.attachEvent("onload",a.ready);var m=!1;try{m=i.frameElement==b}catch(x){}d.documentElement.doScroll&amp;&amp;m&amp;&amp;r()}}},isFunction:function(s){return a.type(s)===J},isArray:x.isArray||function(s){return a.type(s)==="array"},isWindow:function(i){return i&amp;&amp;typeof i==l&amp;&amp;"setInterval"in i},isNumeric:function(i){return i!=b&amp;&amp;G.test(i)&amp;&amp;!isNaN(i)},type:function(i){return i==b?String(i):B[W.call(i)]||l},isPlainObject:function(b){if(!b||a.type(b)!==l||b.nodeType||a.isWindow(b))return!1;try{if(b.constructor&amp;&amp;!p.call(b,"constructor")&amp;&amp;!p.call(b.constructor.prototype,"isPrototypeOf"))return!1}catch(x){return!1}var i;for(i in b);return i===c||p.call(b,i)},isEmptyObject:function(s){for(var y in s)return!1;return!0},error:function(s){throw s},parseJSON:function(c){if(typeof c!=g||!c)return b;c=a.trim(c);if(i.JSON&amp;&amp;i.JSON.parse)return i.JSON.parse(c);if(I.test(c.replace(K,"@").replace(L,"]").replace(M,"")))return(new Function("return "+c))();a.error("Invalid JSON: "+c)},parseXML:function(j){var b,m;try{i.DOMParser?(m=new DOMParser,b=m.parseFromString(j,"text/xml")):(b=new ActiveXObject("Microsoft.XMLDOM"),b.async=aM,b.loadXML(j))}catch(y){b=c}(!b||!b.documentElement||b.getElementsByTagName(bv).length)&amp;&amp;a.error("Invalid XML: "+j);return b},noop:function(){},globalEval:function(j){j&amp;&amp;u.test(j)&amp;&amp;(i.execScript||function(s){i.eval.call(i,s)})(j)},camelCase:function(s){return s.replace(T,"ms-").replace(S,U)},nodeName:function(m,s){return m.nodeName&amp;&amp;m.nodeName.toUpperCase()===s.toUpperCase()},each:function(b,f,i){var d,e=0,j=b.length,m=j===c||a.isFunction(b);if(i){if(m){for(d in b)if(f.apply(b[d],i)===!1)break}else for(;e&lt;j;)if(f.apply(b[e++],i)===!1)break}else if(m){for(d in b)if(f.call(b[d],d,b[d])===!1)break}else for(;e&lt;j;)if(f.call(b[e],e,b[e++])===!1)break;return b},trim:z?function(m){return m==b?"":z.call(m)}:function(m){return m==b?"":(m+"").replace(v,"").replace(w,"")},makeArray:function(c,s){var i=s||[];if(c!=b){var j=a.type(c);c.length==b||j===g||j===J||j==="regexp"||a.isWindow(c)?q.call(i,c):a.merge(i,c)}return i},inArray:function(m,c,a){var i;if(c){if(A)return A.call(c,m,a);i=c.length,a=a?a&lt;0?y.max(0,i+a):a:0;for(;a&lt;i;a++)if(a in c&amp;&amp;c[a]===m)return a}return-1},merge:function(a,d){var i=a.length,e=0;if(typeof d.length==s)for(var t=d.length;e&lt;t;e++)a[i++]=d[e];else while(d[e]!==c)a[i++]=d[e++];a.length=i;return a},grep:function(i,s,j){var m=[],n;j=!!j;for(var a=0,t=i.length;a&lt;t;a++)n=!!s(i[a],a),j!==n&amp;&amp;m.push(i[a]);return m},map:function(d,m,n){var e,i,f=[],h=0,g=d.length,t=d instanceof a||g!==c&amp;&amp;typeof g==s&amp;&amp;(g&gt;0&amp;&amp;d[0]&amp;&amp;d[g-1]||g===0||a.isArray(d));if(t)for(;h&lt;g;h++)e=m(d[h],h,n),e!=b&amp;&amp;(f[f.length]=e);else for(i in d)e=m(d[i],i,n),e!=b&amp;&amp;(f[f.length]=e);return f.concat.apply([],f)},guid:1,proxy:function(b,f){if(typeof f==g){var s=b[f];f=b,b=s}if(!a.isFunction(b))return c;var t=k.call(arguments,2),i=function(){return b.apply(f,t.concat(k.call(arguments)))};i.guid=b.guid=b.guid||i.guid||a.guid++;return i},access:function(b,d,f,g,h,m){var n=b.length;if(typeof d==l){for(var o in d)a.access(b,o,d[o],g,h,f);return b}if(f!==c){g=!m&amp;&amp;g&amp;&amp;a.isFunction(f);for(var e=0;e&lt;n;e++)h(b[e],d,g?f.call(b[e],e,h(b[e],d)):f,m);return b}return n?h(b[0],d):c},now:function(){return(new Date).getTime()},uaMatch:function(a){a=a.toLowerCase();var m=N.exec(a)||O.exec(a)||P.exec(a)||a.indexOf("compatible")&lt;0&amp;&amp;R.exec(a)||[];return{browser:m[1]||"",version:m[2]||"0"}},sub:function(){function b(s,t){return new b.fn.init(s,t)}a.extend(!0,b,this),b.superclass=this,b.fn=b.prototype=this(),b.fn.constructor=b,b.sub=this.sub,b.fn.init=function(t,c){c&amp;&amp;c instanceof a&amp;&amp;!(c instanceof b)&amp;&amp;(c=b(c));return a.fn.init.call(this,t,c,s)},b.fn.init.prototype=b.fn;var s=b(d);return b},browser:{}}),a.each("Boolean Number String Function Array Date RegExp Object".split(f),function(y,m){B["[object "+m+"]"]=m.toLowerCase()}),m=a.uaMatch(V),m.browser&amp;&amp;(a.browser[m.browser]=!0,a.browser.version=m.version),a.browser.webkit&amp;&amp;(a.browser.safari=!0),u.test("\xa0")&amp;&amp;(v=/^[\s\xa0]+/,w=/[\s\xa0]+$/),t=a(d),d.addEventListener?j=function(){d.removeEventListener(bx,j,!1),a.ready()}:d.attachEvent&amp;&amp;(j=function(){d.readyState===by&amp;&amp;(d.detachEvent(bw,j),a.ready())}),typeof define==J&amp;&amp;define.amd&amp;&amp;define.amd.jQuery&amp;&amp;define("jquery",[],function(){return a});return a}(),bP={};a.Callbacks=function(e){e=e?bP[e]||cr(e):{};var b=[],f=[],d,i,k,j,g,m=function(n){var f,o,c,i;for(f=0,o=n.length;f&lt;o;f++)c=n[f],i=a.type(c),i==="array"?m(c):i===J&amp;&amp;(!e.unique||!h.has(c))&amp;&amp;b.push(c)},n=function(m,a){a=a||[],d=!e.memory||[m,a],i=!0,g=k||0,k=0,j=b.length;for(;b&amp;&amp;g&lt;j;g++)if(b[g].apply(m,a)===!1&amp;&amp;e.stopOnFalse){d=!0;break}i=!1,b&amp;&amp;(e.once?d===!0?h.disable():b=[]:f&amp;&amp;f.length&amp;&amp;(d=f.shift(),h.fireWith(d[0],d[1])))},h={add:function(){if(b){var s=b.length;m(arguments),i?j=b.length:d&amp;&amp;d!==!0&amp;&amp;(k=s,n(d[0],d[1]))}return this},remove:function(){if(b){var m=arguments,k=0,s=m.length;for(;k&lt;s;k++)for(var a=0;a&lt;b.length;a++)if(m[k]===b[a]){i&amp;&amp;a&lt;=j&amp;&amp;(j--,a&lt;=g&amp;&amp;g--),b.splice(a--,1);if(e.unique)break}}return this},has:function(s){if(b){var i=0,t=b.length;for(;i&lt;t;i++)if(s===b[i])return!0}return!1},empty:function(){b=[];return this},disable:function(){b=f=d=c;return this},disabled:function(){return!b},lock:function(){f=c,(!d||d===!0)&amp;&amp;h.disable();return this},locked:function(){return!f},fireWith:function(m,o){f&amp;&amp;(i?e.once||f.push([m,o]):(!e.once||!d)&amp;&amp;n(m,o));return this},fire:function(){h.fireWith(this,arguments);return this},fired:function(){return!!d}};return h};var aT=[].slice;a.extend({Deferred:function(m){var f=a.Callbacks(ab),g=a.Callbacks(ab),h=a.Callbacks("memory"),j="pending",k={resolve:f,reject:g,notify:h},i={done:f.add,fail:g.add,progress:h.add,state:function(){return j},isResolved:f.fired,isRejected:g.fired,then:function(s,t,u){c.done(s).fail(t).progress(u);return this},always:function(){return c.done.apply(c,arguments).fail.apply(c,arguments)},pipe:function(s,t,u){return a.Deferred(function(b){a.each({done:[s,"resolve"],fail:[t,"reject"],progress:[u,"notify"]},function(m,n){var o=n[0],p=n[1],d;a.isFunction(o)?c[m](function(){d=o.apply(this,arguments),d&amp;&amp;a.isFunction(d.promise)?d.promise().then(b.resolve,b.reject,b.notify):b[p+"With"](this===c?b:this,[d])}):c[m](b[p])})}).promise()},promise:function(a){if(a==b)a=i;else for(var m in i)a[m]=i[m];return a}},c=i.promise({}),d;for(d in k)c[d]=k[d].fire,c[d+"With"]=k[d].fireWith;c.done(function(){j="resolved"},g.disable,h.lock).fail(function(){j="rejected"},f.disable,h.lock),m&amp;&amp;m.call(c,c);return c},when:function(f){function s(s){return function(t){m[s]=arguments.length&gt;1?aT.call(arguments,0):t,b.notifyWith(n,m)}}function t(s){return function(t){c[s]=arguments.length&gt;1?aT.call(arguments,0):t,--i||b.resolveWith(b,c)}}var c=aT.call(arguments,0),d=0,e=c.length,m=x(e),i=e,b=e&lt;=1&amp;&amp;f&amp;&amp;a.isFunction(f.promise)?f:a.Deferred(),n=b.promise();if(e&gt;1){for(;d&lt;e;d++)c[d]&amp;&amp;c[d].promise&amp;&amp;a.isFunction(c[d].promise)?c[d].promise().then(t(d),b.reject,s(d)):--i;i||b.resolveWith(b,c)}else b!==f&amp;&amp;b.resolveWith(b,e?[f]:[]);return n}}),a.support=function(){var c=d.createElement(r),A=d.documentElement,y,i,p,q,g,j,e,s,h,t,f,w,o,x,l,n;c.setAttribute(aL,"t"),c.innerHTML="   &lt;link/&gt;&lt;table&gt;&lt;/table&gt;&lt;a href='/a' style='top:1px;float:left;opacity:.55;'&gt;a&lt;/a&gt;&lt;input type='checkbox'/&gt;&lt;nav&gt;&lt;/nav&gt;",y=c.getElementsByTagName(k),i=c.getElementsByTagName("a")[0];if(!y||!y.length||!i)return{};p=d.createElement("select"),q=p.appendChild(d.createElement(aN)),g=c.getElementsByTagName(m)[0],e={leadingWhitespace:c.firstChild.nodeType===3,tbody:!c.getElementsByTagName(al).length,htmlSerialize:!!c.getElementsByTagName("link").length,style:/top/.test(i.getAttribute("style")),hrefNormalized:i.getAttribute(aa)==="/a",opacity:/^0.55/.test(i.style.opacity),cssFloat:!!i.style.cssFloat,unknownElems:!!c.getElementsByTagName("nav").length,checkOn:g.value===P,optSelected:q.selected,getSetAttribute:c.className!=="t",enctype:!!d.createElement(aK).enctype,submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},g.checked=!0,e.noCloneChecked=g.cloneNode(!0).checked,p.disabled=!0,e.optDisabled=!q.disabled;try{delete c.test}catch(y){e.deleteExpando=!1}!c.addEventListener&amp;&amp;c.attachEvent&amp;&amp;c.fireEvent&amp;&amp;(c.attachEvent(bu,function(){e.noCloneEvent=!1}),c.cloneNode(!0).fireEvent(bu)),g=d.createElement(m),g.value="t",g.setAttribute(ak,z),e.radioValue=g.value==="t",g.setAttribute(aJ,aJ),c.appendChild(g),s=d.createDocumentFragment(),s.appendChild(c.lastChild),e.checkClone=s.cloneNode(!0).cloneNode(!0).lastChild.checked,c.innerHTML="",c.style.width=c.style.paddingLeft="1px",h=d.getElementsByTagName(Q)[0],f=d.createElement(h?r:Q),w={visibility:_,width:0,height:0,border:0,margin:0,background:v},h&amp;&amp;a.extend(w,{position:aI,left:"-999px",top:"-999px"});for(l in w)f.style[l]=w[l];f.appendChild(c),t=h||A,t.insertBefore(f,t.firstChild),e.appendChecked=g.checked,e.boxModel=c.offsetWidth===2,"zoom"in c.style&amp;&amp;(c.style.display=aH,c.style.zoom=1,e.inlineBlockNeedsLayout=c.offsetWidth===2,c.style.display="",c.innerHTML="&lt;div style='width:4px;'&gt;&lt;/div&gt;",e.shrinkWrapBlocks=c.offsetWidth!==2),c.innerHTML="&lt;table&gt;&lt;tr&gt;&lt;td style='padding:0;border:0;display:none'&gt;&lt;/td&gt;&lt;td&gt;t&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;",o=c.getElementsByTagName("td"),n=o[0].offsetHeight===0,o[0].style.display="",o[1].style.display=v,e.reliableHiddenOffsets=n&amp;&amp;o[0].offsetHeight===0,c.innerHTML="",d.defaultView&amp;&amp;d.defaultView.getComputedStyle&amp;&amp;(j=d.createElement(r),j.style.width="0",j.style.marginRight="0",c.appendChild(j),e.reliableMarginRight=(parseInt((d.defaultView.getComputedStyle(j,b)||{marginRight:0}).marginRight,10)||0)===0);if(c.attachEvent)for(l in{submit:1,change:1,focusin:1})x=P+l,n=x in c,n||(c.setAttribute(x,"return;"),n=typeof c[x]==J),e[l+"Bubbles"]=n;a(function(){var g,i,c,m,j,n=1,o="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;",p="visibility:hidden;border:0;",q="style='"+o+"border:5px solid #000;padding:0;'",s="&lt;div "+q+"&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;"+"&lt;table "+q+" cellpadding='0' cellspacing='0'&gt;"+"&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;";h=d.getElementsByTagName(Q)[0];!h||(g=d.createElement(r),g.style.cssText=p+"width:0;height:0;position:static;top:0;margin-top:"+n+u,h.insertBefore(g,h.firstChild),f=d.createElement(r),f.style.cssText=o+p,f.innerHTML=s,g.appendChild(f),i=f.firstChild,c=i.firstChild,m=i.nextSibling.firstChild.firstChild,j={doesNotAddBorder:c.offsetTop!==5,doesAddBorderForTableAndCells:m.offsetTop===5},c.style.position=aj,c.style.top="20px",j.fixedPosition=c.offsetTop===20||c.offsetTop===15,c.style.position=c.style.top="",i.style.overflow=_,i.style.position=aG,j.subtractsBorderForOverflowNotVisible=c.offsetTop===-5,j.doesNotIncludeMarginInBodyOffset=h.offsetTop!==n,h.removeChild(g),f=g=b,a.extend(e,j))}),f.innerHTML="",t.removeChild(f),f=s=p=q=h=j=c=g=b;return e}(),a.boxModel=a.support.boxModel;var cu=/^(?:\{.*\}|\[.*\])$/,cv=/([A-Z])/g;a.extend({cache:{},uuid:0,expando:"jQuery"+(a.fn.jquery+y.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(b){b=b.nodeType?a.cache[b[a.expando]]:b[a.expando];return!!b&amp;&amp;!aS(b)},data:function(i,e,m,n){if(!!a.acceptData(i)){var o,f,j,p=typeof e==g,k=i.nodeType,h=k?a.cache:i,d=k?i[a.expando]:i[a.expando]&amp;&amp;a.expando,q=e===ai;if((!d||!h[d]||!q&amp;&amp;!n&amp;&amp;!h[d].data)&amp;&amp;p&amp;&amp;m===c)return;d||(k?i[a.expando]=d=++a.uuid:d=a.expando),h[d]||(h[d]={},k||(h[d].toJSON=a.noop));if(typeof e==l||typeof e==J)n?h[d]=a.extend(h[d],e):h[d].data=a.extend(h[d].data,e);o=f=h[d],n||(f.data||(f.data={}),f=f.data),m!==c&amp;&amp;(f[a.camelCase(e)]=m);if(q&amp;&amp;!f[e])return o.events;p?(j=f[e],j==b&amp;&amp;(j=f[a.camelCase(e)])):j=f;return j}},removeData:function(d,c,j){if(!!a.acceptData(d)){var h,i,m,k=d.nodeType,e=k?a.cache:d,g=k?d[a.expando]:a.expando;if(!e[g])return;if(c){h=j?e[g]:e[g].data;if(h){a.isArray(c)?c=c:c in h?c=[c]:(c=a.camelCase(c),c in h?c=[c]:c=c.split(f));for(i=0,m=c.length;i&lt;m;i++)delete h[c[i]];if(!(j?aS:a.isEmptyObject)(h))return}}if(!j){delete e[g].data;if(!aS(e[g]))return}a.support.deleteExpando||!e.setInterval?delete e[g]:e[g]=b,k&amp;&amp;(a.support.deleteExpando?delete d[a.expando]:d.removeAttribute?d.removeAttribute(a.expando):d[a.expando]=b)}},_data:function(s,t,u){return a.data(s,t,u,!0)},acceptData:function(i){if(i.nodeName){var j=a.noData[i.nodeName.toLowerCase()];if(j)return j!==!0&amp;&amp;i.getAttribute("classid")===j}return!0}}),a.fn.extend({data:function(f,i){var d,j,g,e=b;if(typeof f==n){if(this.length){e=a.data(this[0]);if(this[0].nodeType===1&amp;&amp;!a._data(this[0],bt)){j=this[0].attributes;for(var k=0,s=j.length;k&lt;s;k++)g=j[k].name,g.indexOf("data-")===0&amp;&amp;(g=a.camelCase(g.substring(5)),bO(this[0],g,e[g]));a._data(this[0],bt,!0)}}return e}if(typeof f==l)return this.each(function(){a.data(this,f)});d=f.split(o),d[1]=d[1]?o+d[1]:"";if(i===c){e=this.triggerHandler("getData"+d[1]+"!",[d[0]]),e===c&amp;&amp;this.length&amp;&amp;(e=a.data(this[0],f),e=bO(this[0],f,e));return e===c&amp;&amp;d[1]?this.data(d[0]):e}return this.each(function(){var m=a(this),n=[d[0],i];m.triggerHandler("setData"+d[1]+"!",n),a.data(this,f,i),m.triggerHandler("changeData"+d[1]+"!",n)})},removeData:function(s){return this.each(function(){a.removeData(this,s)})}}),a.extend({_mark:function(i,f){i&amp;&amp;(f=(f||q)+R,a._data(i,f,(a._data(i,f)||0)+1))},_unmark:function(f,b,c){f!==!0&amp;&amp;(c=b,b=f,f=!1);if(b){c=c||q;var i=c+R,m=f?0:(a._data(b,i)||1)-1;m?a._data(b,i,m):(a.removeData(b,i,!0),bN(b,c,R))}},queue:function(i,f,g){var c;if(i){f=(f||q)+ad,c=a._data(i,f),g&amp;&amp;(!c||a.isArray(g)?c=a._data(i,f,a.makeArray(g)):c.push(g));return c||[]}},dequeue:function(c,b){b=b||q;var f=a.queue(c,b),g=f.shift(),m={};g===aF&amp;&amp;(g=f.shift()),g&amp;&amp;(b===q&amp;&amp;f.unshift(aF),a._data(c,b+ah,m),g.call(c,function(){a.dequeue(c,b)},m)),f.length||(a.removeData(c,b+"queue "+b+ah,!0),bN(c,b,ad))}}),a.fn.extend({queue:function(b,i){typeof b!=g&amp;&amp;(i=b,b=q);if(i===c)return a.queue(this[0],b);return this.each(function(){var s=a.queue(this,b,i);b===q&amp;&amp;s[0]!==aF&amp;&amp;a.dequeue(this,b)})},dequeue:function(s){return this.each(function(){a.dequeue(this,s)})},delay:function(c,i){c=a.fx?a.fx.speeds[c]||c:c,i=i||q;return this.queue(i,function(s,t){var u=D(s,c);t.stop=function(){a0(u)}})},clearQueue:function(s){return this.queue(s||q,[])},promise:function(b,s){function m(){--o||n.resolveWith(d,[d])}typeof b!=g&amp;&amp;(s=b,b=c),b=b||q;var n=a.Deferred(),d=this,e=d.length,o=1,p=b+"defer",t=b+ad,u=b+R,r;while(e--)if(r=a.data(d[e],p,c,!0)||(a.data(d[e],t,c,!0)||a.data(d[e],u,c,!0))&amp;&amp;a.data(d[e],p,a.Callbacks(ab),!0))o++,r.add(m);m();return n.promise()}});var bQ=/[\n\t\r]/g,ar=/\s+/,cw=/\r/g,cx=/^(?:button|input)$/i,cy=/^(?:button|input|object|select|textarea)$/i,cz=/^a(?:rea)?$/i,bR=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,bS=a.support.getSetAttribute,B,bT,bU;a.fn.extend({attr:function(s,t){return a.access(this,s,t,!0,a.attr)},removeAttr:function(s){return this.each(function(){a.removeAttr(this,s)})},prop:function(s,t){return a.access(this,s,t,!0,a.prop)},removeProp:function(d){d=a.propFix[d]||d;return this.each(function(){try{this[d]=c,delete this[d]}catch(y){}})},addClass:function(b){var d,h,n,c,i,e,o;if(a.isFunction(b))return this.each(function(s){a(this).addClass(b.call(this,s,this.className))});if(b&amp;&amp;typeof b==g){d=b.split(ar);for(h=0,n=this.length;h&lt;n;h++){c=this[h];if(c.nodeType===1)if(!c.className&amp;&amp;d.length===1)c.className=b;else{i=f+c.className+f;for(e=0,o=d.length;e&lt;o;e++)~i.indexOf(f+d[e]+f)||(i+=d[e]+f);c.className=a.trim(i)}}}return this},removeClass:function(b){var k,h,n,d,i,j,o;if(a.isFunction(b))return this.each(function(s){a(this).removeClass(b.call(this,s,this.className))});if(b&amp;&amp;typeof b==g||b===c){k=(b||"").split(ar);for(h=0,n=this.length;h&lt;n;h++){d=this[h];if(d.nodeType===1&amp;&amp;d.className)if(b){i=(f+d.className+f).replace(bQ,f);for(j=0,o=k.length;j&lt;o;j++)i=i.replace(f+k[j]+f,f);d.className=a.trim(i)}else d.className=""}}return this},toggleClass:function(c,f){var i=typeof c,s=typeof f==ac;if(a.isFunction(c))return this.each(function(s){a(this).toggleClass(c.call(this,s,this.className,f),f)});return this.each(function(){if(i===g){var j,t=0,o=a(this),k=f,u=c.split(ar);while(j=u[t++])k=s?k:!o.hasClass(j),o[k?"addClass":"removeClass"](j)}else if(i===n||i===ac)this.className&amp;&amp;a._data(this,bs,this.className),this.className=this.className||c===!1?"":a._data(this,bs)||""})},hasClass:function(s){var t=f+s+f,a=0,u=this.length;for(;a&lt;u;a++)if(this[a].nodeType===1&amp;&amp;(f+this[a].className+f).replace(bQ,f).indexOf(t)&gt;-1)return!0;return!1},val:function(i){var e,f,n,h=this[0];if(!arguments.length){if(h){e=a.valHooks[h.nodeName.toLowerCase()]||a.valHooks[h.type];if(e&amp;&amp;O in e&amp;&amp;(f=e.get(h,aE))!==c)return f;f=h.value;return typeof f==g?f.replace(cw,""):f==b?"":f}return c}n=a.isFunction(i);return this.each(function(t){var u=a(this),d;if(this.nodeType===1){n?d=i.call(this,t,u.val()):d=i,d==b?d="":typeof d==s?d+="":a.isArray(d)&amp;&amp;(d=a.map(d,function(n){return n==b?"":n+""})),e=a.valHooks[this.nodeName.toLowerCase()]||a.valHooks[this.type];if(!e||!(ag in e)||e.set(this,d,aE)===c)this.value=d}})}}),a.extend({valHooks:{option:{get:function(i){var n=i.attributes.value;return!n||n.specified?i.value:i.text}},select:{get:function(j){var k,f,n,c,g=j.selectedIndex,l=[],h=j.options,i=j.type==="select-one";if(g&lt;0)return b;f=i?g:0,n=i?g+1:h.length;for(;f&lt;n;f++){c=h[f];if(c.selected&amp;&amp;(a.support.optDisabled?!c.disabled:c.getAttribute("disabled")===b)&amp;&amp;(!c.parentNode.disabled||!a.nodeName(c.parentNode,"optgroup"))){k=a(c).val();if(i)return k;l.push(k)}}if(i&amp;&amp;!l.length&amp;&amp;h.length)return a(h[g]).val();return l},set:function(n,s){var i=a.makeArray(s);a(n).find(aN).each(function(){this.selected=a.inArray(a(this).val(),i)&gt;=0}),i.length||(n.selectedIndex=-1);return i}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(e,d,f,t){var g,h,i,j=e.nodeType;if(!e||j===3||j===8||j===2)return c;if(t&amp;&amp;d in a.attrFn)return a(e)[d](f);if(!("getAttribute"in e))return a.prop(e,d,f);i=j!==1||!a.isXMLDoc(e),i&amp;&amp;(d=d.toLowerCase(),h=a.attrHooks[d]||(bR.test(d)?bT:B));if(f!==c){if(f===b){a.removeAttr(e,d);return c}if(h&amp;&amp;ag in h&amp;&amp;i&amp;&amp;(g=h.set(e,f,d))!==c)return g;e.setAttribute(d,""+f);return f}if(h&amp;&amp;O in h&amp;&amp;i&amp;&amp;(g=h.get(e,d))!==b)return g;g=e.getAttribute(d);return g===b?c:g},removeAttr:function(c,t){var f,i,b,n,j=0;if(c.nodeType===1){i=(t||"").split(ar),n=i.length;for(;j&lt;n;j++)b=i[j].toLowerCase(),f=a.propFix[b]||b,a.attr(c,b,""),c.removeAttribute(bS?b:f),bR.test(b)&amp;&amp;f in c&amp;&amp;(c[f]=!1)}},attrHooks:{type:{set:function(b,j){if(cx.test(b.nodeName)&amp;&amp;b.parentNode)a.error("type property can't be changed");else if(!a.support.radioValue&amp;&amp;j===z&amp;&amp;a.nodeName(b,m)){var n=b.value;b.setAttribute(ak,j),n&amp;&amp;(b.value=n);return j}}},value:{get:function(f,n){if(B&amp;&amp;a.nodeName(f,I))return B.get(f,n);return n in f?f.value:b},set:function(j,n,t){if(B&amp;&amp;a.nodeName(j,I))return B.set(j,n,t);j.value=n}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":br,"class":aL,maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(e,d,j){var g,f,n,h=e.nodeType;if(!e||h===3||h===8||h===2)return c;n=h!==1||!a.isXMLDoc(e),n&amp;&amp;(d=a.propFix[d]||d,f=a.propHooks[d]);return j!==c?f&amp;&amp;ag in f&amp;&amp;(g=f.set(e,j,d))!==c?g:e[d]=j:f&amp;&amp;O in f&amp;&amp;(g=f.get(e,d))!==b?g:e[d]},propHooks:{tabIndex:{get:function(a){var j=a.getAttributeNode("tabindex");return j&amp;&amp;j.specified?parseInt(j.value,10):cy.test(a.nodeName)||cz.test(a.nodeName)&amp;&amp;a.href?0:c}}}}),a.attrHooks.tabindex=a.propHooks.tabIndex,bT={get:function(n,j){var o,p=a.prop(n,j);return p===!0||typeof p!=ac&amp;&amp;(o=n.getAttributeNode(j))&amp;&amp;o.nodeValue!==!1?j.toLowerCase():c},set:function(f,t,b){var j;t===!1?a.removeAttr(f,b):(j=a.propFix[b]||b,j in f&amp;&amp;(f[j]=!0),f.setAttribute(b,b.toLowerCase()));return b}},bS||(bU={name:!0,id:!0},B=a.valHooks.button={get:function(t,n){var a;a=t.getAttributeNode(n);return a&amp;&amp;(bU[n]?a.nodeValue!=="":a.specified)?a.nodeValue:c},set:function(n,t,o){var a=n.getAttributeNode(o);a||(a=d.createAttribute(o),n.setAttributeNode(a));return a.nodeValue=t+""}},a.attrHooks.tabindex.set=B.set,a.each([A,H],function(y,j){a.attrHooks[j]=a.extend(a.attrHooks[j],{set:function(t,n){if(n===""){t.setAttribute(j,af);return n}}})}),a.attrHooks.contenteditable={get:B.get,set:function(t,j,u){j===""&amp;&amp;(j=aM),B.set(t,j,u)}}),a.support.hrefNormalized||a.each([aa,"src",A,H],function(y,j){a.attrHooks[j]=a.extend(a.attrHooks[j],{get:function(t){var n=t.getAttribute(j,2);return n===b?c:n}})}),a.support.style||(a.attrHooks.style={get:function(t){return t.style.cssText.toLowerCase()||c},set:function(t,u){return t.style.cssText=""+u}}),a.support.optSelected||(a.propHooks.selected=a.extend(a.propHooks.selected,{get:function(t){var a=t.parentNode;a&amp;&amp;(a.selectedIndex,a.parentNode&amp;&amp;a.parentNode.selectedIndex);return b}})),a.support.enctype||(a.propFix.enctype="encoding"),a.support.checkOn||a.each([z,K],function(){a.valHooks[this]={get:function(n){return n.getAttribute(aE)===b?P:n.value}}}),a.each([z,K],function(){a.valHooks[this]=a.extend(a.valHooks[this],{set:function(n,o){if(a.isArray(o))return n.checked=a.inArray(a(n).val(),o)&gt;=0}})});var aU=/^(?:textarea|input|select)$/i,bV=/^([^\.]*)?(?:\.(.+))?$/,cA=/\bhover(\.\S+)?/,cB=/^key/,cC=/^(?:mouse|contextmenu)|click/,cD=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,cE=function(t){var a=cD.exec(t);a&amp;&amp;(a[1]=(a[1]||"").toLowerCase(),a[3]=a[3]&amp;&amp;new E("(?:^|\\s)"+a[3]+"(?:\\s|$)"));return a},cF=function(j,a){return(!a[1]||j.nodeName.toLowerCase()===a[1])&amp;&amp;(!a[2]||j.id===a[2])&amp;&amp;(!a[3]||a[3].test(j.className))},bW=function(n){return a.event.special.hover?n:n.replace(cA,"mouseenter$1 mouseleave$1")};a.event={add:function(d,m,g,v,l){var p,i,q,r,s,e,t,h,u,k,j;if(!(d.nodeType===3||d.nodeType===8||!m||!g||!(p=a._data(d)))){g.handler&amp;&amp;(u=g,g=u.handler),g.guid||(g.guid=a.guid++),q=p.events,q||(p.events=q={}),i=p.handle,i||(p.handle=i=function(o){return typeof a!=n&amp;&amp;(!o||a.event.triggered!==o.type)?a.event.dispatch.apply(i.elem,arguments):c},i.elem=d),m=bW(m).split(f);for(r=0;r&lt;m.length;r++){s=bV.exec(m[r])||[],e=s[1],t=(s[2]||"").split(o).sort(),j=a.event.special[e]||{},e=(l?j.delegateType:j.bindType)||e,j=a.event.special[e]||{},h=a.extend({type:e,origType:s[1],data:v,handler:g,guid:g.guid,selector:l,namespace:t.join(o)},u),l&amp;&amp;(h.quick=cE(l),!h.quick&amp;&amp;a.expr.match.POS.test(l)&amp;&amp;(h.isPositional=!0)),k=q[e];if(!k){k=q[e]=[],k.delegateCount=0;if(!j.setup||j.setup.call(d,v,t,i)===!1)d.addEventListener?d.addEventListener(e,i,!1):d.attachEvent&amp;&amp;d.attachEvent(P+e,i)}j.add&amp;&amp;(j.add.call(d,h),h.handler.guid||(h.handler.guid=g.guid)),l?k.splice(k.delegateCount++,0,h):k.push(h),a.event.global[e]=!0}d=b}},global:{},remove:function(h,m,n,k){var p=a.hasData(h)&amp;&amp;a._data(h),q,r,e,c,t,i,l,g,s,d,j;if(!!p&amp;&amp;!!(l=p.events)){m=bW(m||"").split(f);for(q=0;q&lt;m.length;q++){r=bV.exec(m[q])||[],e=r[1],c=r[2];if(!e){c=c?o+c:"";for(i in l)a.event.remove(h,i+c,n,k);return}g=a.event.special[e]||{},e=(k?g.delegateType:g.bindType)||e,d=l[e]||[],t=d.length,c=c?new E(bq+c.split(o).sort().join(bp)+bo):b;if(n||c||k||g.remove)for(i=0;i&lt;d.length;i++){j=d[i];if(!n||n.guid===j.guid)if(!c||c.test(j.namespace))if(!k||k===j.selector||k==="**"&amp;&amp;j.selector)d.splice(i--,1),j.selector&amp;&amp;d.delegateCount--,g.remove&amp;&amp;g.remove.call(h,j)}else d.length=0;d.length===0&amp;&amp;t!==d.length&amp;&amp;((!g.teardown||g.teardown.call(h,c)===!1)&amp;&amp;a.removeEvent(h,e,p.handle),delete l[e])}a.isEmptyObject(l)&amp;&amp;(s=p.handle,s&amp;&amp;(s.elem=b),a.removeData(h,[ai,"handle"],!0))}},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(d,j,f,u){if(!f||f.nodeType!==3&amp;&amp;f.nodeType!==8){var e=d.type||d,r=[],s,v,k,g,h,n,m,p,q,t;e.indexOf("!")&gt;=0&amp;&amp;(e=e.slice(0,-1),v=!0),e.indexOf(o)&gt;=0&amp;&amp;(r=e.split(o),e=r.shift(),r.sort());if((!f||a.event.customEvent[e])&amp;&amp;!a.event.global[e])return;d=typeof d==l?d[a.expando]?d:new a.Event(e,d):new a.Event(e),d.type=e,d.isTrigger=!0,d.exclusive=v,d.namespace=r.join(o),d.namespace_re=d.namespace?new E(bq+r.join(bp)+bo):b,n=e.indexOf(":")&lt;0?P+e:"",(u||!f)&amp;&amp;d.preventDefault();if(!f){s=a.cache;for(k in s)s[k].events&amp;&amp;s[k].events[e]&amp;&amp;a.event.trigger(d,j,s[k].handle.elem,!0);return}d.result=c,d.target||(d.target=f),j=j!=b?a.makeArray(j):[],j.unshift(d),m=a.event.special[e]||{};if(m.trigger&amp;&amp;m.trigger.apply(f,j)===!1)return;q=[[f,m.bindType||e]];if(!u&amp;&amp;!m.noBubble&amp;&amp;!a.isWindow(f)){t=m.delegateType||e,h=b;for(g=f.parentNode;g;g=g.parentNode)q.push([g,t]),h=g;h&amp;&amp;h===f.ownerDocument&amp;&amp;q.push([h.defaultView||h.parentWindow||i,t])}for(k=0;k&lt;q.length;k++){g=q[k][0],d.type=q[k][1],p=(a._data(g,ai)||{})[d.type]&amp;&amp;a._data(g,"handle"),p&amp;&amp;p.apply(g,j),p=n&amp;&amp;g[n],p&amp;&amp;a.acceptData(g)&amp;&amp;p.apply(g,j);if(d.isPropagationStopped())break}d.type=e,d.isDefaultPrevented()||(!m._default||m._default.apply(f.ownerDocument,j)===!1)&amp;&amp;(e!=="click"||!a.nodeName(f,"a"))&amp;&amp;a.acceptData(f)&amp;&amp;n&amp;&amp;f[e]&amp;&amp;(e!=="focus"&amp;&amp;e!=="blur"||d.target.offsetWidth!==0)&amp;&amp;!a.isWindow(f)&amp;&amp;(h=f[n],h&amp;&amp;(f[n]=b),a.event.triggered=e,f[e](),a.event.triggered=c,h&amp;&amp;(f[n]=h));return d.result}},dispatch:function(b){b=a.event.fix(b||i.event);var k=(a._data(this,ai)||{})[b.type]||[],l=k.delegateCount,r=[].slice.call(arguments,0),t=!b.exclusive&amp;&amp;!b.namespace,u=(a.event.special[b.type]||{}).handle,m=[],e,n,f,o,p,j,q,d,g,h;r[0]=b,b.delegateTarget=this;if(l&amp;&amp;!b.target.disabled&amp;&amp;(!b.button||b.type!=="click"))for(f=b.target;f!=this;f=f.parentNode||this){p={},q=[];for(e=0;e&lt;l;e++)d=k[e],g=d.selector,h=p[g],d.isPositional?h=(h||(p[g]=a(g))).index(f)&gt;=0:h===c&amp;&amp;(h=p[g]=d.quick?cF(f,d.quick):a(f).is(g)),h&amp;&amp;q.push(d);q.length&amp;&amp;m.push({elem:f,matches:q})}k.length&gt;l&amp;&amp;m.push({elem:this,matches:k.slice(l)});for(e=0;e&lt;m.length&amp;&amp;!b.isPropagationStopped();e++){j=m[e],b.currentTarget=j.elem;for(n=0;n&lt;j.matches.length&amp;&amp;!b.isImmediatePropagationStopped();n++){d=j.matches[n];if(t||!b.namespace&amp;&amp;!d.namespace||b.namespace_re&amp;&amp;b.namespace_re.test(d.namespace))b.data=d.data,b.handleObj=d,o=(u||d.handler).apply(j.elem,r),o!==c&amp;&amp;(b.result=o,o===!1&amp;&amp;(b.preventDefault(),b.stopPropagation()))}}return b.result},props:"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(f),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(f),filter:function(j,k){j.which==b&amp;&amp;(j.which=k.charCode!=b?k.charCode:k.keyCode);return j}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement wheelDelta".split(f),filter:function(a,g){var j,e,f,h=g.button,k=g.fromElement;a.pageX==b&amp;&amp;g.clientX!=b&amp;&amp;(j=a.target.ownerDocument||d,e=j.documentElement,f=j.body,a.pageX=g.clientX+(e&amp;&amp;e.scrollLeft||f&amp;&amp;f.scrollLeft||0)-(e&amp;&amp;e.clientLeft||f&amp;&amp;f.clientLeft||0),a.pageY=g.clientY+(e&amp;&amp;e.scrollTop||f&amp;&amp;f.scrollTop||0)-(e&amp;&amp;e.clientTop||f&amp;&amp;f.clientTop||0)),!a.relatedTarget&amp;&amp;k&amp;&amp;(a.relatedTarget=k===a.target?g.toElement:k),!a.which&amp;&amp;h!==c&amp;&amp;(a.which=h&amp;1?1:h&amp;2?3:h&amp;4?2:0);return a}},fix:function(b){if(b[a.expando])return b;var j,k,f=b,g=a.event.fixHooks[b.type]||{},n=g.props?this.props.concat(g.props):this.props;b=a.Event(f);for(j=n.length;j;)k=n[--j],b[k]=f[k];b.target||(b.target=f.srcElement||d),b.target.nodeType===3&amp;&amp;(b.target=b.target.parentNode),b.metaKey===c&amp;&amp;(b.metaKey=b.ctrlKey);return g.filter?g.filter(b,f):b},special:{ready:{setup:a.bindReady},focus:{delegateType:bn,noBubble:!0},blur:{delegateType:bm,noBubble:!0},beforeunload:{setup:function(y,z,t){a.isWindow(this)&amp;&amp;(this.onbeforeunload=t)},teardown:function(y,t){this.onbeforeunload===t&amp;&amp;(this.onbeforeunload=b)}}},simulate:function(t,n,o,u){var j=a.extend(new a.Event,o,{type:t,isSimulated:!0,originalEvent:{}});u?a.event.trigger(j,b,n):a.event.dispatch.call(n,j),j.isDefaultPrevented()&amp;&amp;o.preventDefault()}},a.event.handle=a.event.dispatch,a.removeEvent=d.removeEventListener?function(n,t,u){n.removeEventListener&amp;&amp;n.removeEventListener(t,u,!1)}:function(n,t,u){n.detachEvent&amp;&amp;n.detachEvent(P+t,u)},a.Event=function(b,j){if(!(this instanceof a.Event))return new a.Event(b,j);b&amp;&amp;b.type?(this.originalEvent=b,this.type=b.type,this.isDefaultPrevented=b.defaultPrevented||b.returnValue===!1||b.getPreventDefault&amp;&amp;b.getPreventDefault()?aq:U):this.type=b,j&amp;&amp;a.extend(this,j),this.timeStamp=b&amp;&amp;b.timeStamp||a.now(),this[a.expando]=!0},a.Event.prototype={preventDefault:function(){this.isDefaultPrevented=aq;var a=this.originalEvent;!a||(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){this.isPropagationStopped=aq;var f=this.originalEvent;!f||(f.stopPropagation&amp;&amp;f.stopPropagation(),f.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=aq,this.stopPropagation()},isDefaultPrevented:U,isPropagationStopped:U,isImmediatePropagationStopped:U},a.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(t,j){a.event.special[t]=a.event.special[j]={delegateType:j,bindType:j,handle:function(b){var n=this,j=b.relatedTarget,k=b.handleObj,o,p;if(!j||k.origType===b.type||j!==n&amp;&amp;!a.contains(n,j))o=b.type,b.type=k.origType,p=k.handler.apply(this,arguments),b.type=o;return p}}}),a.support.submitBubbles||(a.event.special.submit={setup:function(){if(a.nodeName(this,aK))return!1;a.event.add(this,"click._submit keypress._submit",function(t){var j=t.target,f=a.nodeName(j,m)||a.nodeName(j,I)?j.form:c;f&amp;&amp;!f._submit_attached&amp;&amp;(a.event.add(f,"submit._submit",function(t){this.parentNode&amp;&amp;a.event.simulate("submit",this.parentNode,t,!0)}),f._submit_attached=!0)})},teardown:function(){if(a.nodeName(this,aK))return!1;a.event.remove(this,"._submit")}}),a.support.changeBubbles||(a.event.special.change={setup:function(){if(aU.test(this.nodeName)){if(this.type===K||this.type===z)a.event.add(this,"propertychange._change",function(t){t.originalEvent.propertyName===aJ&amp;&amp;(this._just_changed=!0)}),a.event.add(this,"click._change",function(t){this._just_changed&amp;&amp;(this._just_changed=!1,a.event.simulate("change",this,t,!0))});return!1}a.event.add(this,"beforeactivate._change",function(t){var f=t.target;aU.test(f.nodeName)&amp;&amp;!f._change_attached&amp;&amp;(a.event.add(f,"change._change",function(n){this.parentNode&amp;&amp;!n.isSimulated&amp;&amp;a.event.simulate("change",this.parentNode,n,!0)}),f._change_attached=!0)})},handle:function(f){var j=f.target;if(this!==j||f.isSimulated||f.isTrigger||j.type!==z&amp;&amp;j.type!==K)return f.handleObj.handler.apply(this,arguments)},teardown:function(){a.event.remove(this,"._change");return aU.test(this.nodeName)}}),a.support.focusinBubbles||a.each({focus:bn,blur:bm},function(n,o){var p=0,q=function(n){a.event.simulate(o,n.target,a.event.fix(n),!0)};a.event.special[o]={setup:function(){p++===0&amp;&amp;d.addEventListener(n,q,!0)},teardown:function(){--p===0&amp;&amp;d.removeEventListener(n,q,!0)}}}),a.fn.extend({on:function(h,e,f,d,n){var i,j;if(typeof h==l){typeof e!=g&amp;&amp;(f=e,e=c);for(j in h)this.on(j,e,f,h[j],n);return this}f==b&amp;&amp;d==b?(d=e,f=e=c):d==b&amp;&amp;(typeof e==g?(d=f,f=c):(d=f,f=e,e=c));if(d===!1)d=U;else if(!d)return this;n===1&amp;&amp;(i=d,d=function(t){a().off(t);return i.apply(this,arguments)},d.guid=i.guid||(i.guid=a.guid++));return this.each(function(){a.event.add(this,h,d,f,e)})},one:function(t,u,v,w){return this.on.call(this,t,u,v,w,1)},off:function(b,d,f){if(b&amp;&amp;b.preventDefault&amp;&amp;b.handleObj){var e=b.handleObj;a(b.delegateTarget).off(e.namespace?e.type+o+e.namespace:e.type,e.selector,e.handler);return this}if(typeof b==l){for(var n in b)this.off(n,d,b[n]);return this}if(d===!1||typeof d==J)f=d,d=c;f===!1&amp;&amp;(f=U);return this.each(function(){a.event.remove(this,b,f,d)})},bind:function(t,u,v){return this.on(t,b,u,v)},unbind:function(t,u){return this.off(t,b,u)},live:function(t,u,v){a(this.context).on(t,this.selector,u,v);return this},die:function(t,u){a(this.context).off(t,this.selector||"**",u);return this},delegate:function(t,u,v,w){return this.on(u,t,v,w)},undelegate:function(n,u,v){return arguments.length==1?this.off(n,"**"):this.off(u,n,v)},trigger:function(u,v){return this.each(function(){a.event.trigger(u,v,this)})},triggerHandler:function(u,v){if(this[0])return a.event.trigger(u,v,this[0],!0)},toggle:function(j){var k=arguments,n=j.guid||a.guid++,l=0,o=function(u){var o=(a._data(this,bl+j.guid)||0)%l;a._data(this,bl+j.guid,o+1),u.preventDefault();return k[o].apply(this,arguments)||!1};o.guid=n;while(l&lt;k.length)k[l++].guid=n;return this.click(o)},hover:function(o,u){return this.mouseenter(o).mouseleave(u||o)}}),a.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(f),function(y,c){a.fn[c]=function(j,k){k==b&amp;&amp;(k=j,j=b);return arguments.length&gt;0?this.bind(c,j,k):this.trigger(c)},a.attrFn&amp;&amp;(a.attrFn[c]=!0),cB.test(c)&amp;&amp;(a.event.fixHooks[c]=a.event.keyHooks),cC.test(c)&amp;&amp;(a.event.fixHooks[c]=a.event.mouseHooks)}),function(){function G(o,j,q,f,y,u){for(var c=0,v=f.length;c&lt;v;c++){var a=f[c];if(a){var h=!1;a=a[o];while(a){if(a[p]===q){h=f[a.sizset];break}if(a.nodeType===1){u||(a[p]=q,a.sizset=c);if(typeof j!=g){if(a===j){h=!0;break}}else if(e.filter(j,[a]).length&gt;0){h=a;break}}a=a[o]}f[c]=h}}}function H(o,u,q,f,y,v){for(var c=0,w=f.length;c&lt;w;c++){var a=f[c];if(a){var j=!1;a=a[o];while(a){if(a[p]===q){j=f[a.sizset];break}a.nodeType===1&amp;&amp;!v&amp;&amp;(a[p]=q,a.sizset=c);if(a.nodeName.toLowerCase()===u){j=a;break}a=a[o]}f[c]=j}}}var C=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ &gt;+~,(\[\\]+)+|[&gt;+~])(\s*,\s*)?((?:.|\r|\n)*)/g,p="sizcache"+(y.random()+"").replace(o,""),D=0,J=av.prototype.toString,v=!1,L=!0,q=/\\/g,O=/\r\n/g,w=/\W/;[0,0].sort(function(){L=!1;return 0});var e=function(m,c,k,p){k=k||[],c=c||d;var w=c;if(c.nodeType!==1&amp;&amp;c.nodeType!==9)return[];if(!m||typeof m!=g)return k;var o,n,f,t,l,q,r,i,u=!0,s=e.isXML(c),a=[],v=m;do{C.exec(""),o=C.exec(v);if(o){v=o[3],a.push(o[1]);if(o[2]){t=o[3];break}}}while(o);if(a.length&gt;1&amp;&amp;P.exec(m))if(a.length===2&amp;&amp;h.relative[a[0]])n=M(a[0]+a[1],c,p);else{n=h.relative[a[0]]?[c]:e(a.shift(),c);while(a.length)m=a.shift(),h.relative[m]&amp;&amp;(m+=a.shift()),n=M(m,n,p)}else{!p&amp;&amp;a.length&gt;1&amp;&amp;c.nodeType===9&amp;&amp;!s&amp;&amp;h.match.ID.test(a[0])&amp;&amp;!h.match.ID.test(a[a.length-1])&amp;&amp;(l=e.find(a.shift(),c,s),c=l.expr?e.filter(l.expr,l.set)[0]:l.set[0]);if(c){l=p?{expr:a.pop(),set:j(p)}:e.find(a.pop(),a.length===1&amp;&amp;(a[0]==="~"||a[0]==="+")&amp;&amp;c.parentNode?c.parentNode:c,s),n=l.expr?e.filter(l.expr,l.set):l.set,a.length&gt;0?f=j(n):u=!1;while(a.length)q=a.pop(),r=q,h.relative[q]?r=a.pop():q="",r==b&amp;&amp;(r=c),h.relative[q](f,r,s)}else f=a=[]}f||(f=n),f||e.error(q||m);if(J.call(f)===bk)if(!u)k.push.apply(k,f);else if(c&amp;&amp;c.nodeType===1)for(i=0;f[i]!=b;i++)f[i]&amp;&amp;(f[i]===!0||f[i].nodeType===1&amp;&amp;e.contains(c,f[i]))&amp;&amp;k.push(n[i]);else for(i=0;f[i]!=b;i++)f[i]&amp;&amp;f[i].nodeType===1&amp;&amp;k.push(n[i]);else j(f,k);t&amp;&amp;(e(t,w,k,p),e.uniqueSort(k));return k};e.uniqueSort=function(a){if(B){v=L,a.sort(B);if(v)for(var c=1;c&lt;a.length;c++)a[c]===a[c-1]&amp;&amp;a.splice(c--,1)}return a},e.matches=function(u,v){return e(u,b,b,v)},e.matchesSelector=function(u,v){return e(v,b,b,[u]).length&gt;0},e.find=function(c,l,u){var d,f,o,a,g,m;if(!c)return[];for(f=0,o=h.order.length;f&lt;o;f++){g=h.order[f];if(a=h.leftMatch[g].exec(c)){m=a[1],a.splice(1,1);if(m.substr(m.length-1)!=="\\"){a[1]=(a[1]||"").replace(q,""),d=h.find[g](a,l,u);if(d!=b){c=c.replace(h.match[g],"");break}}}}d||(d=typeof l.getElementsByTagName!=n?l.getElementsByTagName(k):[]);return{set:d,expr:c}},e.filter=function(d,j,o,r){var a,g,i,k,n,s,p,l,q,t=d,m=[],f=j,u=j&amp;&amp;j[0]&amp;&amp;e.isXML(j[0]);while(d&amp;&amp;j.length){for(i in h.filter)if((a=h.leftMatch[i].exec(d))!=b&amp;&amp;a[2]){s=h.filter[i],p=a[1],g=!1,a.splice(1,1);if(p.substr(p.length-1)==="\\")continue;f===m&amp;&amp;(m=[]);if(h.preFilter[i]){a=h.preFilter[i](a,f,o,m,r,u);if(!a)g=k=!0;else if(a===!0)continue}if(a)for(l=0;(n=f[l])!=b;l++)n&amp;&amp;(k=s(n,a,l,f),q=r^k,o&amp;&amp;k!=b?q?g=!0:f[l]=!1:q&amp;&amp;(m.push(n),g=!0));if(k!==c){o||(f=m),d=d.replace(h.match[i],"");if(!g)return[];break}}if(d===t)if(g==b)e.error(d);else break;t=d}return f},e.error=function(u){throw"Syntax error, unrecognized expression: "+u};var F=e.getText=function(a){var k,l,f=a.nodeType,m="";if(f){if(f===1){if(typeof a.textContent==g)return a.textContent;if(typeof a.innerText==g)return a.innerText.replace(O,"");for(a=a.firstChild;a;a=a.nextSibling)m+=F(a)}else if(f===3||f===4)return a.nodeValue}else for(k=0;l=a[k];k++)l.nodeType!==8&amp;&amp;(m+=F(l));return m},h=e.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\xc0-\uffff\-]|\\.)+)/,CLASS:/\.((?:[\w\xc0-\uffff\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\xc0-\uffff\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\xc0-\uffff\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\xc0-\uffff\-]|\\.)*)|)|)\s*\]/,TAG:/^((?:[\w\xc0-\uffff\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\xc0-\uffff\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":aL,"for":br},attrHandle:{href:function(u){return u.getAttribute(aa)},type:function(u){return u.getAttribute(ak)}},relative:{"+":function(f,b){var o=typeof b==g,p=o&amp;&amp;!w.test(b),q=o&amp;&amp;!p;p&amp;&amp;(b=b.toLowerCase());for(var h=0,u=f.length,a;h&lt;u;h++)if(a=f[h]){while((a=a.previousSibling)&amp;&amp;a.nodeType!==1);f[h]=q||a&amp;&amp;a.nodeName.toLowerCase()===b?a||!1:a===b}q&amp;&amp;e.filter(b,f,!0)},"&gt;":function(d,b){var c,k=typeof b==g,a=0,o=d.length;if(k&amp;&amp;!w.test(b)){b=b.toLowerCase();for(;a&lt;o;a++){c=d[a];if(c){var p=c.parentNode;d[a]=p.nodeName.toLowerCase()===b?p:!1}}}else{for(;a&lt;o;a++)c=d[a],c&amp;&amp;(d[a]=k?c.parentNode:c.parentNode===b);k&amp;&amp;e.filter(b,d,!0)}},"":function(u,a,v){var o,x=D++,p=G;typeof a==g&amp;&amp;!w.test(a)&amp;&amp;(a=a.toLowerCase(),o=a,p=H),p(aD,a,x,u,o,v)},"~":function(u,a,v){var o,x=D++,p=G;typeof a==g&amp;&amp;!w.test(a)&amp;&amp;(a=a.toLowerCase(),o=a,p=H),p(ae,a,x,u,o,v)}},find:{ID:function(u,o,v){if(typeof o.getElementById!=n&amp;&amp;!v){var k=o.getElementById(u[1]);return k&amp;&amp;k.parentNode?[k]:[]}},NAME:function(o,p){if(typeof p.getElementsByName!=n){var k=[],l=p.getElementsByName(o[1]);for(var f=0,u=l.length;f&lt;u;f++)l[f].getAttribute("name")===o[1]&amp;&amp;k.push(l[f]);return k.length===0?b:k}},TAG:function(u,o){if(typeof o.getElementsByTagName!=n)return o.getElementsByTagName(u[1])}},preFilter:{CLASS:function(g,o,p,u,v,w){g=f+g[1].replace(q,"")+f;if(w)return g;for(var k=0,a;(a=o[k])!=b;k++)a&amp;&amp;(v^(a.className&amp;&amp;(f+a.className+f).replace(/[\t\n\r]/g,f).indexOf(g)&gt;=0)?p||u.push(a):p&amp;&amp;(o[k]=!1));return!1},ID:function(u){return u[1].replace(q,"")},TAG:function(u,y){return u[1].replace(q,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||e.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var k=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&amp;&amp;"2n"||a[2]==="odd"&amp;&amp;"2n+1"||!/\D/.test(a[2])&amp;&amp;"0n+"+a[2]||a[2]);a[2]=k[1]+(k[2]||1)-0,a[3]=k[3]-0}else a[2]&amp;&amp;e.error(a[0]);a[0]=D++;return a},ATTR:function(a,y,z,A,B,u){var o=a[1]=a[1].replace(q,"");!u&amp;&amp;h.attrMap[o]&amp;&amp;(a[1]=h.attrMap[o]),a[4]=(a[4]||a[5]||"").replace(q,""),a[2]==="~="&amp;&amp;(a[4]=f+a[4]+f);return a},PSEUDO:function(a,o,p,q,u){if(a[1]==="not")if((C.exec(a[3])||"").length&gt;1||/^\w/.test(a[3]))a[3]=e(a[3],b,b,o);else{var v=e.filter(a[3],o,p,!0^u);p||q.push.apply(q,v);return!1}else if(h.match.POS.test(a[0])||h.match.CHILD.test(a[0]))return!0;return a},POS:function(o){o.unshift(!0);return o}},filters:{enabled:function(o){return o.disabled===!1&amp;&amp;o.type!==_},disabled:function(u){return u.disabled===!0},checked:function(u){return u.checked===!0},selected:function(k){k.parentNode&amp;&amp;k.parentNode.selectedIndex;return k.selected===!0},parent:function(u){return!!u.firstChild},empty:function(u){return!u.firstChild},has:function(u,y,v){return!!e(v[3],u).length},header:function(u){return/h\d/i.test(u.nodeName)},text:function(k){var o=k.getAttribute(ak),p=k.type;return k.nodeName.toLowerCase()===m&amp;&amp;"text"===p&amp;&amp;(o===p||o===b)},radio:function(o){return o.nodeName.toLowerCase()===m&amp;&amp;z===o.type},checkbox:function(o){return o.nodeName.toLowerCase()===m&amp;&amp;K===o.type},file:function(o){return o.nodeName.toLowerCase()===m&amp;&amp;"file"===o.type},password:function(o){return o.nodeName.toLowerCase()===m&amp;&amp;"password"===o.type},submit:function(o){var p=o.nodeName.toLowerCase();return(p===m||p===I)&amp;&amp;"submit"===o.type},image:function(o){return o.nodeName.toLowerCase()===m&amp;&amp;"image"===o.type},reset:function(o){var p=o.nodeName.toLowerCase();return(p===m||p===I)&amp;&amp;"reset"===o.type},button:function(o){var p=o.nodeName.toLowerCase();return p===m&amp;&amp;I===o.type||p===I},input:function(u){return/input|select|textarea|button/i.test(u.nodeName)},focus:function(o){return o===o.ownerDocument.activeElement}},setFilters:{first:function(y,u){return u===0},last:function(y,u,z,v){return u===v.length-1},even:function(y,u){return u%2===0},odd:function(y,v){return v%2===1},lt:function(y,v,w){return v&lt;w[3]-0},gt:function(y,v,w){return v&gt;w[3]-0},nth:function(y,v,w){return w[3]-0===v},eq:function(y,v,w){return w[3]-0===v}},filter:{PSEUDO:function(a,f,v,w){var g=f[1],o=h.filters[g];if(o)return o(a,v,f,w);if(g==="contains")return(a.textContent||a.innerText||F([a])||"").indexOf(f[3])&gt;=0;if(g==="not"){var p=f[3];for(var k=0,x=p.length;k&lt;x;k++)if(p[k]===a)return!1;return!0}e.error(g)},CHILD:function(c,g){var d,k,l,e,o,h,q=g[1],a=c;switch(q){case"only":case"first":while(a=a.previousSibling)if(a.nodeType===1)return!1;if(q==="first")return!0;a=c;case"last":while(a=a.nextSibling)if(a.nodeType===1)return!1;return!0;case"nth":d=g[2],k=g[3];if(d===1&amp;&amp;k===0)return!0;l=g[0],e=c.parentNode;if(e&amp;&amp;(e[p]!==l||!c.nodeIndex)){o=0;for(a=e.firstChild;a;a=a.nextSibling)a.nodeType===1&amp;&amp;(a.nodeIndex=++o);e[p]=l}h=c.nodeIndex-k;return d===0?h===0:h%d===0&amp;&amp;h/d&gt;=0}},ID:function(o,v){return o.nodeType===1&amp;&amp;o.getAttribute(N)===v},TAG:function(l,o){return o===k&amp;&amp;l.nodeType===1||!!l.nodeName&amp;&amp;l.nodeName.toLowerCase()===o},CLASS:function(o,v){return(f+(o.className||o.getAttribute("class"))+f).indexOf(v)&gt;-1},ATTR:function(i,k){var g=k[1],j=e.attr?e.attr(i,g):h.attrHandle[g]?h.attrHandle[g](i):i[g]!=b?i[g]:i.getAttribute(g),c=j+"",d=k[2],a=k[4];return j==b?d==="!=":!d&amp;&amp;e.attr?j!=b:d==="="?c===a:d==="*="?c.indexOf(a)&gt;=0:d==="~="?(f+c+f).indexOf(a)&gt;=0:a?d==="!="?c!==a:d==="^="?c.indexOf(a)===0:d==="$="?c.substr(c.length-a.length)===a:d==="|="?c===a||c.substr(0,a.length+1)===a+"-":!1:c&amp;&amp;j!==!1},POS:function(v,o,w,x){var y=o[2],p=h.setFilters[y];if(p)return p(v,w,o,x)}}},P=h.match.POS,R=function(y,v){return"\\"+(v-0+1)};for(var A in h.match)h.match[A]=new E(h.match[A].source+/(?![^\[]*\])(?![^\(]*\))/.source),h.leftMatch[A]=new E(/(^(?:.|\r|\n)*?)/.source+h.match[A].source.replace(/\\(\d+)/g,R));var j=function(g,h){g=x.prototype.slice.call(g,0);if(h){h.push.apply(h,g);return h}return g};try{x.prototype.slice.call(d.documentElement.childNodes,0)[0].nodeType}catch(y){j=function(a,v){var b=0,g=v||[];if(J.call(a)===bk)x.prototype.push.apply(g,a);else if(typeof a.length==s)for(var w=a.length;b&lt;w;b++)g.push(a[b]);else for(;a[b];b++)g.push(a[b]);return g}}var B,u;d.documentElement.compareDocumentPosition?B=function(g,k){if(g===k){v=!0;return 0}if(!g.compareDocumentPosition||!k.compareDocumentPosition)return g.compareDocumentPosition?-1:1;return g.compareDocumentPosition(k)&amp;4?-1:1}:(B=function(c,d){if(c===d){v=!0;return 0}if(c.sourceIndex&amp;&amp;d.sourceIndex)return c.sourceIndex-d.sourceIndex;var k,o,e=[],f=[],l=c.parentNode,m=d.parentNode,b=l;if(l===m)return u(c,d);if(!l)return-1;if(!m)return 1;while(b)e.unshift(b),b=b.parentNode;b=m;while(b)f.unshift(b),b=b.parentNode;k=e.length,o=f.length;for(var a=0;a&lt;k&amp;&amp;a&lt;o;a++)if(e[a]!==f[a])return u(e[a],f[a]);return a===k?u(c,f[a],-1):u(e[a],d,1)},u=function(o,p,v){if(o===p)return v;var g=o.nextSibling;while(g){if(g===p)return-1;g=g.nextSibling}return 1}),function(){var g=d.createElement(r),p=t+(new Date).getTime(),i=d.documentElement;g.innerHTML="&lt;a name='"+p+"'/&gt;",i.insertBefore(g,i.firstChild),d.getElementById(p)&amp;&amp;(h.find.ID=function(k,p,v){if(typeof p.getElementById!=n&amp;&amp;!v){var a=p.getElementById(k[1]);return a?a.id===k[1]||typeof a.getAttributeNode!=n&amp;&amp;a.getAttributeNode(N).nodeValue===k[1]?[a]:c:[]}},h.filter.ID=function(k,v){var p=typeof k.getAttributeNode!=n&amp;&amp;k.getAttributeNode(N);return k.nodeType===1&amp;&amp;p&amp;&amp;p.nodeValue===v}),i.removeChild(g),i=g=b}(),function(){var a=d.createElement(r);a.appendChild(d.createComment("")),a.getElementsByTagName(k).length&gt;0&amp;&amp;(h.find.TAG=function(p,v){var a=v.getElementsByTagName(p[1]);if(p[1]===k){var q=[];for(var g=0;a[g];g++)a[g].nodeType===1&amp;&amp;q.push(a[g]);a=q}return a}),a.innerHTML="&lt;a href='#'&gt;&lt;/a&gt;",a.firstChild&amp;&amp;typeof a.firstChild.getAttribute!=n&amp;&amp;a.firstChild.getAttribute(aa)!=="#"&amp;&amp;(h.attrHandle.href=function(v){return v.getAttribute(aa,2)}),a=b}(),d.querySelectorAll&amp;&amp;function(){var k=e,g=d.createElement(r),v="__sizzle__";g.innerHTML="&lt;p class='TEST'&gt;&lt;/p&gt;";if(!g.querySelectorAll||g.querySelectorAll(".TEST").length!==0){e=function(f,a,b,p){a=a||d;if(!p&amp;&amp;!e.isXML(a)){var c=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(f);if(c&amp;&amp;(a.nodeType===1||a.nodeType===9)){if(c[1])return j(a.getElementsByTagName(f),b);if(c[2]&amp;&amp;h.find.CLASS&amp;&amp;a.getElementsByClassName)return j(a.getElementsByClassName(c[2]),b)}if(a.nodeType===9){if(f===Q&amp;&amp;a.body)return j([a.body],b);if(c&amp;&amp;c[3]){var g=a.getElementById(c[3]);if(!g||!g.parentNode)return j([],b);if(g.id===c[3])return j([g],b)}try{return j(a.querySelectorAll(f),b)}catch(y){}}else if(a.nodeType===1&amp;&amp;a.nodeName.toLowerCase()!==l){var w=a,m=a.getAttribute(N),i=m||v,q=a.parentNode,r=/^\s*[+~]/.test(f);m?i=i.replace(/'/g,"\\$&amp;"):a.setAttribute(N,i),r&amp;&amp;q&amp;&amp;(a=a.parentNode);try{if(!r||q)return j(a.querySelectorAll("[id='"+i+"'] "+f),b)}catch(y){}finally{m||w.removeAttribute(N)}}}return k(f,a,b,p)};for(var p in k)e[p]=k[p];g=b}}(),function(){var g=d.documentElement,i=g.matchesSelector||g.mozMatchesSelector||g.webkitMatchesSelector||g.msMatchesSelector;if(i){var v=!i.call(d.createElement(r),r),p=!1;try{i.call(d.documentElement,"[test!='']:sizzle")}catch(y){p=!0}e.matchesSelector=function(c,a){a=a.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!e.isXML(c))try{if(p||!h.match.PSEUDO.test(a)&amp;&amp;!/!=/.test(a)){var q=i.call(c,a);if(q||!v||c.document&amp;&amp;c.document.nodeType!==11)return q}}catch(y){}return e(a,b,b,[c]).length&gt;0}}}(),function(){var a=d.createElement(r);a.innerHTML="&lt;div class='test e'&gt;&lt;/div&gt;&lt;div class='test'&gt;&lt;/div&gt;";if(!!a.getElementsByClassName&amp;&amp;a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;h.order.splice(1,0,"CLASS"),h.find.CLASS=function(v,p,w){if(typeof p.getElementsByClassName!=n&amp;&amp;!w)return p.getElementsByClassName(v[1])},a=b}}(),d.documentElement.contains?e.contains=function(k,p){return k!==p&amp;&amp;(k.contains?k.contains(p):!0)}:d.documentElement.compareDocumentPosition?e.contains=function(v,w){return!!(v.compareDocumentPosition(w)&amp;16)}:e.contains=function(){return!1},e.isXML=function(k){var p=(k?k.ownerDocument||k:0).documentElement;return p?p.nodeName!=="HTML":!1};var M=function(a,l,v){var p,q=[],r="",s=l.nodeType?[l]:l;while(p=h.match.PSEUDO.exec(a))r+=p[0],a=a.replace(h.match.PSEUDO,"");a=h.relative[a]?a+k:a;for(var m=0,w=s.length;m&lt;w;m++)e(a,s[m],q,v);return e.filter(r,q)};e.attr=a.attr,e.selectors.attrMap={},a.find=e,a.expr=e.selectors,a.expr[":"]=a.expr.filters,a.unique=e.uniqueSort,a.text=e.getText,a.isXMLDoc=e.isXML,a.contains=e.contains}();var cG=/Until$/,cH=/^(?:parents|prevUntil|prevAll)/,cI=/,/,cJ=/^.[^:#\[\.,]*$/,cK=x.prototype.slice,bX=a.expr.match.POS,cL={children:!0,contents:!0,next:!0,prev:!0};a.fn.extend({find:function(h){var p=this,b,i;if(typeof h!=g)return a(h).filter(function(){for(b=0,i=p.length;b&lt;i;b++)if(a.contains(p[b],this))return!0});var c=this.pushStack("","find",h),k,d,j;for(b=0,i=this.length;b&lt;i;b++){k=c.length,a.find(h,this[b],c);if(b&gt;0)for(d=k;d&lt;c.length;d++)for(j=0;j&lt;k;j++)if(c[j]===c[d]){c.splice(d--,1);break}}return c},has:function(v){var p=a(v);return this.filter(function(){for(var k=0,v=p.length;k&lt;v;k++)if(a.contains(this,p[k]))return!0})},not:function(p){return this.pushStack(bL(this,p,!1),"not",p)},filter:function(p){return this.pushStack(bL(this,p,!0),"filter",p)},is:function(b){return!!b&amp;&amp;(typeof b==g?bX.test(b)?a(b,this.context).index(this[0])&gt;=0:a.filter(b,this).length&gt;0:this.filter(b).length&gt;0)},closest:function(c,k){var e=[],d,p,b=this[0];if(a.isArray(c)){var q=1;while(b&amp;&amp;b.ownerDocument&amp;&amp;b!==k){for(d=0;d&lt;c.length;d++)a(b).is(c[d])&amp;&amp;e.push({selector:c[d],elem:b,level:q});b=b.parentNode,q++}return e}var r=bX.test(c)||typeof c!=g?a(c,k||this.context):0;for(d=0,p=this.length;d&lt;p;d++){b=this[d];while(b){if(r?r.index(b)&gt;-1:a.find.matchesSelector(b,c)){e.push(b);break}b=b.parentNode;if(!b||!b.ownerDocument||b===k||b.nodeType===11)break}}e=e.length&gt;1?a.unique(e):e;return this.pushStack(e,"closest",c)},index:function(b){if(!b)return this[0]&amp;&amp;this[0].parentNode?this.prevAll().length:-1;if(typeof b==g)return a.inArray(this[0],a(b));return a.inArray(b.jquery?b[0]:b,this)},add:function(b,v){var p=typeof b==g?a(b,v):a.makeArray(b&amp;&amp;b.nodeType?[b]:b),k=a.merge(this.get(),p);return this.pushStack(bM(p[0])||bM(k[0])?k:a.unique(k))},andSelf:function(){return this.add(this.prevObject)}}),a.each({parent:function(v){var k=v.parentNode;return k&amp;&amp;k.nodeType!==11?k:b},parents:function(v){return a.dir(v,aD)},parentsUntil:function(v,y,w){return a.dir(v,aD,w)},next:function(v){return a.nth(v,2,aC)},prev:function(v){return a.nth(v,2,ae)},nextAll:function(v){return a.dir(v,aC)},prevAll:function(v){return a.dir(v,ae)},nextUntil:function(v,y,w){return a.dir(v,aC,w)},prevUntil:function(v,y,w){return a.dir(v,ae,w)},siblings:function(p){return a.sibling(p.parentNode.firstChild,p)},children:function(v){return a.sibling(v.firstChild)},contents:function(g){return a.nodeName(g,"iframe")?g.contentDocument||g.contentWindow.document:a.makeArray(g.childNodes)}},function(c,v){a.fn[c]=function(p,d){var b=a.map(this,v,p),w=cK.call(arguments);cG.test(c)||(d=p),d&amp;&amp;typeof d==g&amp;&amp;(b=a.filter(d,b)),b=this.length&gt;1&amp;&amp;!cL[c]?a.unique(b):b,(this.length&gt;1||cI.test(d))&amp;&amp;cH.test(c)&amp;&amp;(b=b.reverse());return this.pushStack(b,c,w.join(","))}}),a.extend({filter:function(g,h,v){v&amp;&amp;(g=":not("+g+")");return h.length===1?a.find.matchesSelector(h[0],g)?[h[0]]:[]:a.find.matches(g,h)},dir:function(w,p,q){var r=[],b=w[p];while(b&amp;&amp;b.nodeType!==9&amp;&amp;(q===c||b.nodeType!==1||!a(b).is(q)))b.nodeType===1&amp;&amp;r.push(b),b=b[p];return r},nth:function(a,k,w,y){k=k||1;var x=0;for(;a;a=a[w])if(a.nodeType===1&amp;&amp;++x===k)break;return a},sibling:function(a,w){var p=[];for(;a;a=a.nextSibling)a.nodeType===1&amp;&amp;a!==w&amp;&amp;p.push(a);return p}});var bY="abbr article aside audio canvas datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video",cM=/ jQuery\d+="(?:\d+|null)"/g,aV=/^\s+/,bZ=/&lt;(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^&gt;]*)\/&gt;/gi,b$=/&lt;([\w:]+)/,cN=/&lt;tbody/i,cO=/&lt;|&amp;#?\w+;/,cP=/&lt;(?:script|style)/i,cQ=/&lt;(?:script|object|embed|option|style)/i,cR=new E("&lt;(?:"+bY.replace(f,"|")+")","i"),b0=/checked\s*(?:[^=]|=\s*.checked.)/i,cS=/\/(java|ecma)script/i,cT=/^\s*&lt;!(?:\[CDATA\[|\-\-)/,p={option:[1,"&lt;select multiple='multiple'&gt;","&lt;/select&gt;"],legend:[1,"&lt;fieldset&gt;","&lt;/fieldset&gt;"],thead:[1,bj,"&lt;/table&gt;"],tr:[2,"&lt;table&gt;&lt;tbody&gt;","&lt;/tbody&gt;&lt;/table&gt;"],td:[3,"&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;","&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;"],col:[2,"&lt;table&gt;&lt;tbody&gt;&lt;/tbody&gt;&lt;colgroup&gt;","&lt;/colgroup&gt;&lt;/table&gt;"],area:[1,"&lt;map&gt;","&lt;/map&gt;"],_default:[0,"",""]},cU=bK(d);p.optgroup=p.option,p.tbody=p.tfoot=p.colgroup=p.caption=p.thead,p.th=p.td,a.support.htmlSerialize||(p._default=[1,"div&lt;div&gt;","&lt;/div&gt;"]),a.fn.extend({text:function(e){if(a.isFunction(e))return this.each(function(w){var p=a(this);p.text(e.call(this,w,p.text()))});if(typeof e!=l&amp;&amp;e!==c)return this.empty().append((this[0]&amp;&amp;this[0].ownerDocument||d).createTextNode(e));return a.text(this)},wrapAll:function(k){if(a.isFunction(k))return this.each(function(w){a(this).wrapAll(k.call(this,w))});if(this[0]){var p=a(k,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&amp;&amp;p.insertBefore(this[0]),p.map(function(){var a=this;while(a.firstChild&amp;&amp;a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(g){if(a.isFunction(g))return this.each(function(w){a(this).wrapInner(g.call(this,w))});return this.each(function(){var p=a(this),q=p.contents();q.length?q.wrapAll(g):p.append(g)})},wrap:function(w){return this.each(function(){a(this).wrapAll(w)})},unwrap:function(){return this.parent().each(function(){a.nodeName(this,Q)||a(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(w){this.nodeType===1&amp;&amp;this.appendChild(w)})},prepend:function(){return this.domManip(arguments,!0,function(w){this.nodeType===1&amp;&amp;this.insertBefore(w,this.firstChild)})},before:function(){if(this[0]&amp;&amp;this[0].parentNode)return this.domManip(arguments,!1,function(w){this.parentNode.insertBefore(w,this)});if(arguments.length){var k=a(arguments[0]);k.push.apply(k,this.toArray());return this.pushStack(k,"before",arguments)}},after:function(){if(this[0]&amp;&amp;this[0].parentNode)return this.domManip(arguments,!1,function(w){this.parentNode.insertBefore(w,this.nextSibling)});if(arguments.length){var k=this.pushStack(this,"after",arguments);k.push.apply(k,a(arguments[0]).toArray());return k}},remove:function(p,w){for(var q=0,c;(c=this[q])!=b;q++)if(!p||a.filter(p,[c]).length)!w&amp;&amp;c.nodeType===1&amp;&amp;(a.cleanData(c.getElementsByTagName(k)),a.cleanData([c])),c.parentNode&amp;&amp;c.parentNode.removeChild(c);return this},empty:function(){for(var p=0,c;(c=this[p])!=b;p++){c.nodeType===1&amp;&amp;a.cleanData(c.getElementsByTagName(k));while(c.firstChild)c.removeChild(c.firstChild)}return this},clone:function(c,g){c=c==b?!1:c,g=g==b?c:g;return this.map(function(){return a.clone(this,c,g)})},html:function(d){if(d===c)return this[0]&amp;&amp;this[0].nodeType===1?this[0].innerHTML.replace(cM,""):b;if(typeof d==g&amp;&amp;!cP.test(d)&amp;&amp;(a.support.leadingWhitespace||!aV.test(d))&amp;&amp;!p[(b$.exec(d)||["",""])[1].toLowerCase()]){d=d.replace(bZ,bi);try{for(var e=0,w=this.length;e&lt;w;e++)this[e].nodeType===1&amp;&amp;(a.cleanData(this[e].getElementsByTagName(k)),this[e].innerHTML=d)}catch(y){this.empty().append(d)}}else a.isFunction(d)?this.each(function(w){var p=a(this);p.html(d.call(this,w,p.html()))}):this.empty().append(d);return this},replaceWith:function(b){if(this[0]&amp;&amp;this[0].parentNode){if(a.isFunction(b))return this.each(function(w){var q=a(this),x=q.html();q.replaceWith(b.call(this,w,x))});typeof b!=g&amp;&amp;(b=a(b).detach());return this.each(function(){var q=this.nextSibling,w=this.parentNode;a(this).remove(),q?a(q).before(b):a(w).append(b)})}return this.length?this.pushStack(a(a.isFunction(b)?b():b),bh,b):this},detach:function(w){return this.remove(w,!0)},domManip:function(f,d,l){var k,h,b,i,e=f[0],m=[];if(!a.support.checkClone&amp;&amp;arguments.length===3&amp;&amp;typeof e==g&amp;&amp;b0.test(e))return this.each(function(){a(this).domManip(f,d,l,!0)});if(a.isFunction(e))return this.each(function(w){var q=a(this);f[0]=e.call(this,w,d?q.html():c),q.domManip(f,d,l)});if(this[0]){i=e&amp;&amp;e.parentNode,a.support.parentNode&amp;&amp;i&amp;&amp;i.nodeType===11&amp;&amp;i.childNodes.length===this.length?k={fragment:i}:k=a.buildFragment(f,this,m),b=k.fragment,b.childNodes.length===1?h=b=b.firstChild:h=b.firstChild;if(h){d=d&amp;&amp;a.nodeName(h,"tr");for(var j=0,n=this.length,w=n-1;j&lt;n;j++)l.call(d?cq(this[j],h):this[j],k.cacheable||n&gt;1&amp;&amp;j&lt;w?a.clone(b,!0,!0):b)}m.length&amp;&amp;a.each(m,cp)}return this}}),a.buildFragment=function(k,h,w){var c,l,f,e,b=k[0];h&amp;&amp;h[0]&amp;&amp;(e=h[0].ownerDocument||h[0]),e.createDocumentFragment||(e=d),k.length===1&amp;&amp;typeof b==g&amp;&amp;b.length&lt;512&amp;&amp;e===d&amp;&amp;b.charAt(0)==="&lt;"&amp;&amp;!cQ.test(b)&amp;&amp;(a.support.checkClone||!b0.test(b))&amp;&amp;!a.support.unknownElems&amp;&amp;cR.test(b)&amp;&amp;(l=!0,f=a.fragments[b],f&amp;&amp;f!==1&amp;&amp;(c=f)),c||(c=e.createDocumentFragment(),a.clean(k,e,c,w)),l&amp;&amp;(a.fragments[b]=f?c:1);return{fragment:c,cacheable:l}},a.fragments={},a.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:bh},function(q,r){a.fn[q]=function(w){var k=[],c=a(w),l=this.length===1&amp;&amp;this[0].parentNode;if(l&amp;&amp;l.nodeType===11&amp;&amp;l.childNodes.length===1&amp;&amp;c.length===1){c[r](this[0]);return this}for(var g=0,x=c.length;g&lt;x;g++){var s=(g&gt;0?this.clone(!0):this).get();a(c[g])[r](s),k=k.concat(s)}return this.pushStack(k,q,c.selector)}}),a.extend({clone:function(d,w,x){var g=d.cloneNode(!0),e,f,c;if((!a.support.noCloneEvent||!a.support.noCloneChecked)&amp;&amp;(d.nodeType===1||d.nodeType===11)&amp;&amp;!a.isXMLDoc(d)){bI(d,g),e=ap(d),f=ap(g);for(c=0;e[c];++c)f[c]&amp;&amp;bI(e[c],f[c])}if(w){bJ(d,g);if(x){e=ap(d),f=ap(g);for(c=0;e[c];++c)bJ(e[c],f[c])}}e=f=b;return g},clean:function(z,h,q,u){var v;h=h||d,typeof h.createElement==n&amp;&amp;(h=h.ownerDocument||h[0]&amp;&amp;h[0].ownerDocument||d);var e=[],i;for(var f=0,c;(c=z[f])!=b;f++){typeof c==s&amp;&amp;(c+="");if(!c)continue;if(typeof c==g)if(!cO.test(c))c=h.createTextNode(c);else{c=c.replace(bZ,bi);var w=(b$.exec(c)||["",""])[1].toLowerCase(),l=p[w]||p._default,A=l[0],j=h.createElement(r);h===d?cU.appendChild(j):bK(h).appendChild(j),j.innerHTML=l[1]+c+l[2];while(A--)j=j.lastChild;if(!a.support.tbody){var x=cN.test(c),k=w==="table"&amp;&amp;!x?j.firstChild&amp;&amp;j.firstChild.childNodes:l[1]===bj&amp;&amp;!x?j.childNodes:[];for(i=k.length-1;i&gt;=0;--i)a.nodeName(k[i],al)&amp;&amp;!k[i].childNodes.length&amp;&amp;k[i].parentNode.removeChild(k[i])}!a.support.leadingWhitespace&amp;&amp;aV.test(c)&amp;&amp;j.insertBefore(h.createTextNode(aV.exec(c)[0]),j.firstChild),c=j.childNodes}var y;if(!a.support.appendChecked)if(c[0]&amp;&amp;typeof(y=c.length)==s)for(i=0;i&lt;y;i++)bG(c[i]);else bG(c);c.nodeType?e.push(c):e=a.merge(e,c)}if(q){v=function(q){return!q.type||cS.test(q.type)};for(f=0;e[f];f++)if(u&amp;&amp;a.nodeName(e[f],t)&amp;&amp;(!e[f].type||e[f].type.toLowerCase()==="text/javascript"))u.push(e[f].parentNode?e[f].parentNode.removeChild(e[f]):e[f]);else{if(e[f].nodeType===1){var B=a.grep(e[f].getElementsByTagName(t),v);e.splice.apply(e,[f+1,0].concat(B))}q.appendChild(e[f])}}return e},cleanData:function(w){var d,g,q=a.cache,x=a.event.special,y=a.support.deleteExpando;for(var r=0,c;(c=w[r])!=b;r++){if(c.nodeName&amp;&amp;a.noData[c.nodeName.toLowerCase()])continue;g=c[a.expando];if(g){d=q[g];if(d&amp;&amp;d.events){for(var k in d.events)x[k]?a.event.remove(c,k):a.removeEvent(c,k,d.handle);d.handle&amp;&amp;(d.handle.elem=b)}y?delete c[a.expando]:c.removeAttribute&amp;&amp;c.removeAttribute(a.expando),delete q[g]}}}});var aW=/alpha\([^)]*\)/i,cV=/opacity=([^)]*)/,cW=/([A-Z]|^ms)/g,b9=/^-?\d+(?:px)?$/i,cX=/^-?\d/,cY=/^([\-+])=([\-+.\de]+)/,cZ={position:aI,visibility:_,display:"block"},c$=["Left","Right"],c0=["Top","Bottom"],V,ca,cb;a.fn.css=function(w,q){if(arguments.length===2&amp;&amp;q===c)return this;return a.access(this,w,q,!0,function(q,r,s){return s!==c?a.style(q,r,s):a.css(q,r)})},a.extend({cssHooks:{opacity:{get:function(q,w){if(w){var r=V(q,$,$);return r===""?"1":r}return q.style.opacity}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":a.support.cssFloat?bg:"styleFloat"},style:function(e,h,d,w){if(!!e&amp;&amp;e.nodeType!==3&amp;&amp;e.nodeType!==8&amp;&amp;!!e.style){var i,k,l=a.camelCase(h),q=e.style,f=a.cssHooks[l];h=a.cssProps[l]||l;if(d===c){if(f&amp;&amp;O in f&amp;&amp;(i=f.get(e,!1,w))!==c)return i;return q[h]}k=typeof d,k===g&amp;&amp;(i=cY.exec(d))&amp;&amp;(d=+(i[1]+1)*+i[2]+j(a.css(e,h)),k=s);if(d==b||k===s&amp;&amp;isNaN(d))return;k===s&amp;&amp;!a.cssNumber[l]&amp;&amp;(d+=u);if(!f||!(ag in f)||(d=f.set(e,d))!==c)try{q[h]=d}catch(y){}}},css:function(q,b,w){var r,g;b=a.camelCase(b),g=a.cssHooks[b],b=a.cssProps[b]||b,b===bg&amp;&amp;(b="float");if(g&amp;&amp;O in g&amp;&amp;(r=g.get(q,!0,w))!==c)return r;if(V)return V(q,b)},swap:function(g,k,w){var q={};for(var a in k)q[a]=g.style[a],g.style[a]=k[a];w.call(g);for(a in k)g.style[a]=q[a]}}),a.curCSS=a.css,a.each([H,A],function(y,k){a.cssHooks[k]={get:function(g,w,q){var r;if(w){if(g.offsetWidth!==0)return bF(g,k,q);a.swap(g,cZ,function(){r=bF(g,k,q)});return r}},set:function(y,a){if(!b9.test(a))return a;a=j(a);if(a&gt;=0)return a+u}}}),a.support.opacity||(a.cssHooks.opacity={get:function(l,q){return cV.test((q&amp;&amp;l.currentStyle?l.currentStyle.filter:l.style.filter)||"")?j(E.$1)/100+"":q?"1":""},set:function(q,l){var g=q.style,h=q.currentStyle,r=a.isNumeric(l)?"alpha(opacity="+l*100+")":"",i=h&amp;&amp;h.filter||g.filter||"";g.zoom=1;if(l&gt;=1&amp;&amp;a.trim(i.replace(aW,""))===""){g.removeAttribute("filter");if(h&amp;&amp;!h.filter)return}g.filter=aW.test(i)?i.replace(aW,r):i+f+r}}),a(function(){a.support.reliableMarginRight||(a.cssHooks.marginRight={get:function(l,w){var m;a.swap(l,{display:bf},function(){w?m=V(l,"margin-right",be):m=l.style.marginRight});return m}})}),d.defaultView&amp;&amp;d.defaultView.getComputedStyle&amp;&amp;(ca=function(e,g){var h,q,r;g=g.replace(cW,"-$1").toLowerCase();if(!(q=e.ownerDocument.defaultView))return c;if(r=q.getComputedStyle(e,b))h=r.getPropertyValue(g),h===""&amp;&amp;!a.contains(e.ownerDocument.documentElement,e)&amp;&amp;(h=a.style(e,g));return h}),d.documentElement.currentStyle&amp;&amp;(cb=function(a,l){var q,g,r,c=a.currentStyle&amp;&amp;a.currentStyle[l],d=a.style;c===b&amp;&amp;d&amp;&amp;(r=d[l])&amp;&amp;(c=r),!b9.test(c)&amp;&amp;cX.test(c)&amp;&amp;(q=d.left,g=a.runtimeStyle&amp;&amp;a.runtimeStyle.left,g&amp;&amp;(a.runtimeStyle.left=a.currentStyle.left),d.left=l==="fontSize"?"1em":c||0,c=d.pixelLeft+u,d.left=q,g&amp;&amp;(a.runtimeStyle.left=g));return c===""?af:c}),V=ca||cb,a.expr&amp;&amp;a.expr.filters&amp;&amp;(a.expr.filters.hidden=function(c){var w=c.offsetWidth,x=c.offsetHeight;return w===0&amp;&amp;x===0||!a.support.reliableHiddenOffsets&amp;&amp;(c.style&amp;&amp;c.style.display||a.css(c,S))===v},a.expr.filters.visible=function(w){return!a.expr.filters.hidden(w)});var c9=/%20/g,da=/\[\]$/,cc=/\r?\n/g,db=/#.*$/,dc=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,dd=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,de=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,df=/^(?:GET|HEAD)$/,dg=/^\/\//,cd=/\?/,dh=/&lt;script\b[^&lt;]*(?:(?!&lt;\/script&gt;)&lt;[^&lt;]*)*&lt;\/script&gt;/gi,di=/^(?:select|textarea)/i,ce=/\s+/,dj=/([?&amp;])_=[^&amp;]*/,cf=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,cg=a.fn.load,aX={},ch={},L,M,ci=["*/"]+[k];try{L=ct.href}catch(y){L=d.createElement("a"),L.href="",L=L.href}M=cf.exec(L.toLowerCase())||[],a.fn.extend({load:function(d,b,m){if(typeof d!=g&amp;&amp;cg)return cg.apply(this,arguments);if(!this.length)return this;var n=d.indexOf(f);if(n&gt;=0){var q=d.slice(n,d.length);d=d.slice(0,n)}var r="GET";b&amp;&amp;(a.isFunction(b)?(m=b,b=c):typeof b==l&amp;&amp;(b=a.param(b,a.ajaxSettings.traditional),r="POST"));var s=this;a.ajax({url:d,type:r,dataType:"html",data:b,complete:function(g,w,c){c=g.responseText,g.isResolved()&amp;&amp;(g.done(function(w){c=w}),s.html(q?a("&lt;div&gt;").append(c.replace(dh,"")).find(q):c)),m&amp;&amp;s.each(m,[c,w,g])}});return this},serialize:function(){return a.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?a.makeArray(this.elements):this}).filter(function(){return this.name&amp;&amp;!this.disabled&amp;&amp;(this.checked||di.test(this.nodeName)||dd.test(this.type))}).map(function(y,q){var g=a(this).val();return g==b?b:a.isArray(g)?a.map(g,function(w,y){return{name:q.name,value:w.replace(cc,"\r\n")}}):{name:q.name,value:g.replace(cc,"\r\n")}}).get()}}),a.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(f),function(y,q){a.fn[q]=function(w){return this.bind(q,w)}}),a.each([O,"post"],function(y,q){a[q]=function(w,g,l,m){a.isFunction(g)&amp;&amp;(m=m||l,l=g,g=c);return a.ajax({type:q,url:w,data:g,success:l,dataType:m})}}),a.extend({getScript:function(x,y){return a.get(x,c,y,t)},getJSON:function(x,y,z){return a.get(x,y,z,"json")},ajaxSetup:function(c,l){l?bD(c,a.ajaxSettings):(l=c,c=a.ajaxSettings),bD(c,l);return c},ajaxSettings:{url:L,isLocal:de.test(M[1]),global:!0,type:"GET",contentType:bd,processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":ci},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":i.String,"text html":!0,"text json":a.parseJSON,"text xml":a.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:bE(aX),ajaxTransport:bE(ch),ajax:function(q,j){function r(g,q,r,A){if(f!==2){f=2,x&amp;&amp;a0(x),m=c,w=A||"",e.readyState=g&gt;0?4:0;var j,l,k,b=q,B=r?co(d,e,r):c,t,z;if(g&gt;=200&amp;&amp;g&lt;300||g===304){if(d.ifModified){if(t=e.getResponseHeader("Last-Modified"))a.lastModified[h]=t;if(z=e.getResponseHeader("Etag"))a.etag[h]=z}if(g===304)b="notmodified",j=!0;else try{l=cn(d,B),b=bc,j=!0}catch(x){b=bv,k=x}}else{k=b;if(!b||g)b="error",g&lt;0&amp;&amp;(g=0)}e.status=g,e.statusText=""+(q||b),j?v.resolveWith(i,[l,b,e]):v.rejectWith(i,[e,b,k]),e.statusCode(s),s=c,p&amp;&amp;u.trigger("ajax"+(j?"Success":"Error"),[e,d,j?l:k]),y.fireWith(i,[e,b]),p&amp;&amp;(u.trigger("ajaxComplete",[e,d]),--a.active||a.event.trigger("ajaxStop"))}}typeof q==l&amp;&amp;(j=q,q=c),j=j||{};var d=a.ajaxSetup({},j),i=d.context||d,u=i!==d&amp;&amp;(i.nodeType||i instanceof a)?a(i):a.event,v=a.Deferred(),y=a.Callbacks(ab),s=d.statusCode||{},h,z={},A={},w,t,m,x,n,f=0,p,o,e={readyState:0,setRequestHeader:function(g,x){if(!f){var q=g.toLowerCase();g=A[q]=A[q]||g,z[g]=x}return this},getAllResponseHeaders:function(){return f===2?w:b},getResponseHeader:function(x){var a;if(f===2){if(!t){t={};while(a=dc.exec(w))t[a[1].toLowerCase()]=a[2]}a=t[x.toLowerCase()]}return a===c?b:a},overrideMimeType:function(x){f||(d.mimeType=x);return this},abort:function(g){g=g||"abort",m&amp;&amp;m.abort(g),r(0,g);return this}};v.promise(e),e.success=e.done,e.error=e.fail,e.complete=y.add,e.statusCode=function(g){if(g){var a;if(f&lt;2)for(a in g)s[a]=[s[a],g[a]];else a=g[e.status],e.then(a,a)}return this},d.url=((q||d.url)+"").replace(db,"").replace(dg,M[1]+"//"),d.dataTypes=a.trim(d.dataType||k).toLowerCase().split(ce),d.crossDomain==b&amp;&amp;(n=cf.exec(d.url.toLowerCase()),d.crossDomain=!(!n||n[1]==M[1]&amp;&amp;n[2]==M[2]&amp;&amp;(n[3]||(n[1]==="http:"?80:443))==(M[3]||(M[1]==="http:"?80:443)))),d.data&amp;&amp;d.processData&amp;&amp;typeof d.data!=g&amp;&amp;(d.data=a.param(d.data,d.traditional)),ao(aX,d,j,e);if(f===2)return!1;p=d.global,d.type=d.type.toUpperCase(),d.hasContent=!df.test(d.type),p&amp;&amp;a.active++===0&amp;&amp;a.event.trigger("ajaxStart");if(!d.hasContent){d.data&amp;&amp;(d.url+=(cd.test(d.url)?"&amp;":"?")+d.data,delete d.data),h=d.url;if(d.cache===!1){var B=a.now(),C=d.url.replace(dj,"$1_="+B);d.url=C+(C===d.url?(cd.test(d.url)?"&amp;":"?")+"_="+B:"")}}(d.data&amp;&amp;d.hasContent&amp;&amp;d.contentType!==!1||j.contentType)&amp;&amp;e.setRequestHeader("Content-Type",d.contentType),d.ifModified&amp;&amp;(h=h||d.url,a.lastModified[h]&amp;&amp;e.setRequestHeader("If-Modified-Since",a.lastModified[h]),a.etag[h]&amp;&amp;e.setRequestHeader("If-None-Match",a.etag[h])),e.setRequestHeader("Accept",d.dataTypes[0]&amp;&amp;d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!==k?", "+ci+"; q=0.01":""):d.accepts[k]);for(o in d.headers)e.setRequestHeader(o,d.headers[o]);if(d.beforeSend&amp;&amp;(d.beforeSend.call(i,e,d)===!1||f===2)){e.abort();return!1}for(o in{success:1,error:1,complete:1})e[o](d[o]);m=ao(ch,d,j,e);if(!m)r(-1,"No Transport");else{e.readyState=1,p&amp;&amp;u.trigger("ajaxSend",[e,d]),d.async&amp;&amp;d.timeout&gt;0&amp;&amp;(x=D(function(){e.abort("timeout")},d.timeout));try{f=1,m.send(z,r)}catch(q){f&lt;2?r(-1,q):a.error(q)}}return e},param:function(b,l){var m=[],q=function(x,c){c=a.isFunction(c)?c():c,m[m.length]=a$(x)+"="+a$(c)};l===c&amp;&amp;(l=a.ajaxSettings.traditional);if(a.isArray(b)||b.jquery&amp;&amp;!a.isPlainObject(b))a.each(b,function(){q(this.name,this.value)});else for(var r in b)aR(r,b[r],l,q);return m.join("&amp;").replace(c9,"+")}}),a.extend({active:0,lastModified:{},etag:{}});var dk=a.now(),as=/(\=)\?(&amp;|$)|\?\?/i;a.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return a.expando+"_"+dk++}}),a.ajaxPrefilter("json jsonp",function(b,z,x){var q=b.contentType===bd&amp;&amp;typeof b.data==g;if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&amp;&amp;(as.test(b.url)||q&amp;&amp;as.test(b.data))){var e,c=b.jsonpCallback=a.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,r=i[c],d=b.url,h=b.data,s="$1"+c+"$2";b.jsonp!==!1&amp;&amp;(d=d.replace(as,s),b.url===d&amp;&amp;(q&amp;&amp;(h=h.replace(as,s)),b.data===h&amp;&amp;(d+=(/\?/.test(d)?"&amp;":"?")+b.jsonp+"="+c))),b.url=d,b.data=h,i[c]=function(x){e=[x]},x.always(function(){i[c]=r,e&amp;&amp;a.isFunction(r)&amp;&amp;i[c](e[0])}),b.converters["script json"]=function(){e||a.error(c+" was not called");return e[0]},b.dataTypes[0]="json";return t}}),a.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(q){a.globalEval(q);return q}}}),a.ajaxPrefilter(t,function(a){a.cache===c&amp;&amp;(a.cache=!1),a.crossDomain&amp;&amp;(a.type="GET",a.global=!1)}),a.ajaxTransport(t,function(g){if(g.crossDomain){var a,h=d.head||d.getElementsByTagName("head")[0]||d.documentElement;return{send:function(z,x){a=d.createElement(t),a.async="async",g.scriptCharset&amp;&amp;(a.charset=g.scriptCharset),a.src=g.url,a.onload=a.onreadystatechange=function(z,q){if(q||!a.readyState||/loaded|complete/.test(a.readyState))a.onload=a.onreadystatechange=b,h&amp;&amp;a.parentNode&amp;&amp;h.removeChild(a),a=c,q||x(200,bc)},h.insertBefore(a,h.firstChild)},abort:function(){a&amp;&amp;a.onload(0,1)}}}});var aY=i.ActiveXObject?function(){for(var x in W)W[x](0,1)}:!1,dl=0,W;a.ajaxSettings.xhr=i.ActiveXObject?function(){return!this.isLocal&amp;&amp;bC()||cm()}:bC,function(l){a.extend(a.support,{ajax:!!l,cors:!!l&amp;&amp;"withCredentials"in l})}(a.ajaxSettings.xhr()),a.support.ajax&amp;&amp;a.ajaxTransport(function(d){if(!d.crossDomain||a.support.cors){var f;return{send:function(h,q){var e=d.xhr(),j,g;d.username?e.open(d.type,d.url,d.async,d.username,d.password):e.open(d.type,d.url,d.async);if(d.xhrFields)for(g in d.xhrFields)e[g]=d.xhrFields[g];d.mimeType&amp;&amp;e.overrideMimeType&amp;&amp;e.overrideMimeType(d.mimeType),!d.crossDomain&amp;&amp;!h[bb]&amp;&amp;(h[bb]="XMLHttpRequest");try{for(g in h)e.setRequestHeader(g,h[g])}catch(z){}e.send(d.hasContent&amp;&amp;d.data||b),f=function(z,l){var b,m,r,g,h;try{if(f&amp;&amp;(l||e.readyState===4)){f=c,j&amp;&amp;(e.onreadystatechange=a.noop,aY&amp;&amp;delete W[j]);if(l)e.readyState!==4&amp;&amp;e.abort();else{b=e.status,r=e.getAllResponseHeaders(),g={},h=e.responseXML,h&amp;&amp;h.documentElement&amp;&amp;(g.xml=h),g.text=e.responseText;try{m=e.statusText}catch(z){m=""}!b&amp;&amp;d.isLocal&amp;&amp;!d.crossDomain?b=g.text?200:404:b===1223&amp;&amp;(b=204)}}}catch(x){l||q(-1,x)}g&amp;&amp;q(b,m,g,r)},!d.async||e.readyState===4?f():(j=++dl,aY&amp;&amp;(W||(W={},a(i).unload(aY)),W[j]=f),e.onreadystatechange=f)},abort:function(){f&amp;&amp;f(0,1)}}}});var aZ={},w,X,dm=/^(?:toggle|show|hide)$/,dn=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,at,cj=[[H,aB,"marginBottom","paddingTop","paddingBottom"],[A,aA,be,"paddingLeft","paddingRight"],[$]],au;a.fn.extend({show:function(l,x,y){var b,c;if(l||l===0)return this.animate(T(C,3),l,x,y);for(var d=0,q=this.length;d&lt;q;d++)b=this[d],b.style&amp;&amp;(c=b.style.display,!a._data(b,Z)&amp;&amp;c===v&amp;&amp;(c=b.style.display=""),c===""&amp;&amp;a.css(b,S)===v&amp;&amp;a._data(b,Z,bA(b.nodeName)));for(d=0;d&lt;q;d++){b=this[d];if(b.style){c=b.style.display;if(c===""||c===v)b.style.display=a._data(b,Z)||""}}return this},hide:function(l,x,y){if(l||l===0)return this.animate(T(G,3),l,x,y);var e,m,b=0,q=this.length;for(;b&lt;q;b++)e=this[b],e.style&amp;&amp;(m=a.css(e,S),m!==v&amp;&amp;!a._data(e,Z)&amp;&amp;a._data(e,Z,m));for(b=0;b&lt;q;b++)this[b].style&amp;&amp;(this[b].style.display=v);return this},_toggle:a.fn.toggle,toggle:function(e,q,x){var r=typeof e==ac;a.isFunction(e)&amp;&amp;a.isFunction(q)?this._toggle.apply(this,arguments):e==b||r?this.each(function(){var x=r?e:a(this).is(az);a(this)[x?C:G]()}):this.animate(T(F,3),e,q,x);return this},fadeTo:function(x,y,z,A){return this.filter(az).css($,0).show().end().animate({opacity:y},x,z,A)},animate:function(e,x,y,z){function q(){m.queue===!1&amp;&amp;a._mark(this);var f=a.extend({},m),r=this.nodeType===1,p=r&amp;&amp;a(this).is(az),g,c,d,h,k,i,l,n,o;f.animatedProperties={};for(d in e){g=a.camelCase(d),d!==g&amp;&amp;(e[g]=e[d],delete e[d]),c=e[g],a.isArray(c)?(f.animatedProperties[g]=c[1],c=e[g]=c[0]):f.animatedProperties[g]=f.specialEasing&amp;&amp;f.specialEasing[g]||f.easing||"swing";if(c===G&amp;&amp;p||c===C&amp;&amp;!p)return f.complete.call(this);r&amp;&amp;(g===H||g===A)&amp;&amp;(f.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY],a.css(this,S)===aH&amp;&amp;a.css(this,"float")===v&amp;&amp;(!a.support.inlineBlockNeedsLayout||bA(this.nodeName)===aH?this.style.display=bf:this.style.zoom=1))}f.overflow!=b&amp;&amp;(this.style.overflow=_);for(d in e)h=new a.fx(this,f,d),c=e[d],dm.test(c)?(o=a._data(this,F+d)||(c===F?p?C:G:0),o?(a._data(this,F+d,o===C?G:C),h[o]()):h[c]()):(k=dn.exec(c),i=h.cur(),k?(l=j(k[2]),n=k[3]||(a.cssNumber[d]?"":u),n!==u&amp;&amp;(a.style(this,d,(l||1)+n),i=(l||1)/h.cur()*i,a.style(this,d,i+n)),k[1]&amp;&amp;(l=(k[1]==="-="?-1:1)*l+i),h.custom(i,l,n)):h.custom(i,c,""));return!0}var m=a.speed(x,y,z);if(a.isEmptyObject(e))return this.each(m.complete,[!1]);e=a.extend({},e);return m.queue===!1?this.each(q):this.queue(m.queue,q)},stop:function(d,l,h){typeof d!=g&amp;&amp;(h=l,l=d,d=c),l&amp;&amp;d!==!1&amp;&amp;this.queue(d||q,[]);return this.each(function(){function r(x,y,r){var z=y[r];a.removeData(x,r,!0),z.stop(h)}var c,s=!1,e=a.timers,f=a._data(this);h||a._unmark(!0,this);if(d==b)for(c in f)f[c].stop&amp;&amp;c.indexOf(ah)===c.length-4&amp;&amp;r(this,f,c);else f[c=d+ah]&amp;&amp;f[c].stop&amp;&amp;r(this,f,c);for(c=e.length;c--;)e[c].elem===this&amp;&amp;(d==b||e[c].queue===d)&amp;&amp;(h?e[c](!0):e[c].saveState(),s=!0,e.splice(c,1));(!h||!s)&amp;&amp;a.dequeue(this,d)})}}),a.each({slideDown:T(C,1),slideUp:T(G,1),slideToggle:T(F,1),fadeIn:{opacity:C},fadeOut:{opacity:G},fadeToggle:{opacity:F}},function(x,y){a.fn[x]=function(x,z,A){return this.animate(y,x,z,A)}}),a.extend({speed:function(d,e,m){var c=d&amp;&amp;typeof d==l?a.extend({},d):{complete:m||!m&amp;&amp;e||a.isFunction(d)&amp;&amp;d,duration:d,easing:m&amp;&amp;e||e&amp;&amp;!a.isFunction(e)&amp;&amp;e};c.duration=a.fx.off?0:typeof c.duration==s?c.duration:c.duration in a.fx.speeds?a.fx.speeds[c.duration]:a.fx.speeds._default;if(c.queue==b||c.queue===!0)c.queue=q;c.old=c.complete,c.complete=function(x){a.isFunction(c.old)&amp;&amp;c.old.call(this),c.queue?a.dequeue(this,c.queue):x!==!1&amp;&amp;a._unmark(this)};return c},easing:{linear:function(x,A,y,z){return y+z*x},swing:function(x,B,z,A){return(-y.cos(x*y.PI)/2+.5)*A+z}},timers:[],fx:function(x,l,y){this.options=l,this.elem=x,this.prop=y,l.orig=l.orig||{}}}),a.fx.prototype={update:function(){this.options.step&amp;&amp;this.options.step.call(this.elem,this.now,this),(a.fx.step[this.prop]||a.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=b&amp;&amp;(!this.elem.style||this.elem.style[this.prop]==b))return this.elem[this.prop];var r,h=a.css(this.elem,this.prop);return isNaN(r=j(h))?!h||h===af?0:h:r},custom:function(x,y,z){function e(x){return b.step(x)}var b=this,r=a.fx;this.startTime=au||bB(),this.end=y,this.now=this.start=x,this.pos=this.state=0,this.unit=z||this.unit||(a.cssNumber[this.prop]?"":u),e.queue=this.options.queue,e.elem=this.elem,e.saveState=function(){b.options.hide&amp;&amp;a._data(b.elem,Y+b.prop)===c&amp;&amp;a._data(b.elem,Y+b.prop,b.start)},e()&amp;&amp;a.timers.push(e)&amp;&amp;!at&amp;&amp;(at=setInterval(r.tick,r.interval))},show:function(){var l=a._data(this.elem,Y+this.prop);this.options.orig[this.prop]=l||a.style(this.elem,this.prop),this.options.show=!0,l!==c?this.custom(this.cur(),l):this.custom(this.prop===A||this.prop===H?1:0,this.cur()),a(this.elem).show()},hide:function(){this.options.orig[this.prop]=a._data(this.elem,Y+this.prop)||a.style(this.elem,this.prop),this.options.hide=!0,this.custom(this.cur(),0)},step:function(x){var d,l,m,n=au||bB(),r=!0,e=this.elem,c=this.options;if(x||n&gt;=c.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),c.animatedProperties[this.prop]=!0;for(d in c.animatedProperties)c.animatedProperties[d]!==!0&amp;&amp;(r=!1);if(r){c.overflow!=b&amp;&amp;!a.support.shrinkWrapBlocks&amp;&amp;a.each(["","X","Y"],function(x,y){e.style["overflow"+y]=c.overflow[x]}),c.hide&amp;&amp;a(e).hide();if(c.hide||c.show)for(d in c.animatedProperties)a.style(e,d,c.orig[d]),a.removeData(e,Y+d,!0),a.removeData(e,F+d,!0);m=c.complete,m&amp;&amp;(c.complete=!1,m.call(e))}return!1}c.duration==Infinity?this.now=n:(l=n-this.startTime,this.state=l/c.duration,this.pos=a.easing[c.animatedProperties[this.prop]](this.state,l,0,1,c.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},a.extend(a.fx,{tick:function(){var l,e=a.timers,f=0;for(;f&lt;e.length;f++)l=e[f],!l()&amp;&amp;e[f]===l&amp;&amp;e.splice(f--,1);e.length||a.fx.stop()},interval:13,stop:function(){clearInterval(at),at=b},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(r){a.style(r.elem,$,r.now)},_default:function(a){a.elem.style&amp;&amp;a.elem.style[a.prop]!=b?a.elem.style[a.prop]=a.now+a.unit:a.elem[a.prop]=a.now}}}),a.each([A,H],function(z,r){a.fx.step[r]=function(s){a.style(s.elem,r,y.max(0,s.now))}}),a.expr&amp;&amp;a.expr.filters&amp;&amp;(a.expr.filters.animated=function(x){return a.grep(a.timers,function(y){return x===y.elem}).length});var dp=/^t(?:able|d|h)$/i,ck=/^(?:body|html)$/i;"getBoundingClientRect"in d.documentElement?a.fn.offset=function(r){var c=this[0],d;if(r)return this.each(function(x){a.offset.setOffset(this,r,x)});if(!c||!c.ownerDocument)return b;if(c===c.ownerDocument.body)return a.offset.bodyOffset(c);try{d=c.getBoundingClientRect()}catch(z){}var l=c.ownerDocument,e=l.documentElement;if(!d||!a.contains(e,c))return d?{top:d.top,left:d.left}:{top:0,left:0};var h=l.body,s=aQ(l),x=e.clientTop||h.clientTop||0,y=e.clientLeft||h.clientLeft||0,z=s.pageYOffset||a.support.boxModel&amp;&amp;e.scrollTop||h.scrollTop,A=s.pageXOffset||a.support.boxModel&amp;&amp;e.scrollLeft||h.scrollLeft,B=d.top+z-x,C=d.left+A-y;return{top:B,left:C}}:a.fn.offset=function(r){var c=this[0];if(r)return this.each(function(x){a.offset.setOffset(this,r,x)});if(!c||!c.ownerDocument)return b;if(c===c.ownerDocument.body)return a.offset.bodyOffset(c);var d,l=c.offsetParent,x=c,m=c.ownerDocument,n=m.documentElement,g=m.body,i=m.defaultView,h=i?i.getComputedStyle(c,b):c.currentStyle,e=c.offsetTop,f=c.offsetLeft;while((c=c.parentNode)&amp;&amp;c!==g&amp;&amp;c!==n){if(a.support.fixedPosition&amp;&amp;h.position===aj)break;d=i?i.getComputedStyle(c,b):c.currentStyle,e-=c.scrollTop,f-=c.scrollLeft,c===l&amp;&amp;(e+=c.offsetTop,f+=c.offsetLeft,a.support.doesNotAddBorder&amp;&amp;(!a.support.doesAddBorderForTableAndCells||!dp.test(c.nodeName))&amp;&amp;(e+=j(d.borderTopWidth)||0,f+=j(d.borderLeftWidth)||0),x=l,l=c.offsetParent),a.support.subtractsBorderForOverflowNotVisible&amp;&amp;d.overflow!=="visible"&amp;&amp;(e+=j(d.borderTopWidth)||0,f+=j(d.borderLeftWidth)||0),h=d}if(h.position===aG||h.position===ay)e+=g.offsetTop,f+=g.offsetLeft;a.support.fixedPosition&amp;&amp;h.position===aj&amp;&amp;(e+=y.max(n.scrollTop,g.scrollTop),f+=y.max(n.scrollLeft,g.scrollLeft));return{top:e,left:f}},a.offset={bodyOffset:function(h){var r=h.offsetTop,s=h.offsetLeft;a.support.doesNotIncludeMarginInBodyOffset&amp;&amp;(r+=j(a.css(h,aB))||0,s+=j(a.css(h,aA))||0);return{top:r,left:s}},setOffset:function(d,c,x){var l=a.css(d,ba);l===ay&amp;&amp;(d.style.position=aG);var m=a(d),n=m.offset(),r=a.css(d,"top"),s=a.css(d,"left"),y=(l===aI||l===aj)&amp;&amp;a.inArray(af,[r,s])&gt;-1,h={},o={},p,q;y?(o=m.position(),p=o.top,q=o.left):(p=j(r)||0,q=j(s)||0),a.isFunction(c)&amp;&amp;(c=c.call(d,x,n)),c.top!=b&amp;&amp;(h.top=c.top-n.top+p),c.left!=b&amp;&amp;(h.left=c.left-n.left+q),"using"in c?c.using.call(d,h):m.css(h)}},a.fn.extend({position:function(){if(!this[0])return b;var r=this[0],h=this.offsetParent(),i=this.offset(),k=ck.test(h[0].nodeName)?{top:0,left:0}:h.offset();i.top-=j(a.css(r,aB))||0,i.left-=j(a.css(r,aA))||0,k.top+=j(a.css(h[0],"borderTopWidth"))||0,k.left+=j(a.css(h[0],"borderLeftWidth"))||0;return{top:i.top-k.top,left:i.left-k.left}},offsetParent:function(){return this.map(function(){var b=this.offsetParent||d.body;while(b&amp;&amp;!ck.test(b.nodeName)&amp;&amp;a.css(b,ba)===ay)b=b.offsetParent;return b})}}),a.each(["Left","Top"],function(l,x){var e=ax+x;a.fn[e]=function(h){var i,d;if(h===c){i=this[0];if(!i)return b;d=aQ(i);return d?a9 in d?d[l?"pageYOffset":a9]:a.support.boxModel&amp;&amp;d.document.documentElement[e]||d.document.body[e]:i[e]}return this.each(function(){d=aQ(this),d?d.scrollTo(l?a(d).scrollLeft():h,l?h:a(d).scrollTop()):this[e]=h})}}),a.each(["Height",aO],function(z,e){var f=e.toLowerCase();a.fn["inner"+e]=function(){var l=this[0];return l?l.style?j(a.css(l,f,am)):this[f]():b},a.fn["outer"+e]=function(x){var l=this[0];return l?l.style?j(a.css(l,f,x?aP:an)):this[f]():b},a.fn[f]=function(h){var d=this[0];if(!d)return h==b?b:this;if(a.isFunction(h))return this.each(function(x){var r=a(this);r[f](h.call(this,x,r[f]()))});if(a.isWindow(d)){var r=d.document.documentElement[aw+e],s=d.document.body;return d.document.compatMode===bz&amp;&amp;r||s&amp;&amp;s[aw+e]||r}if(d.nodeType===9)return y.max(d.documentElement[aw+e],d.body[ax+e],d.documentElement[ax+e],d.body["offset"+e],d.documentElement["offset"+e]);if(h===c){var t=a.css(d,f),v=j(t);return a.isNumeric(v)?v:t}return this.css(f,typeof h==g?h:h+u)}}),i.jQuery=i.$=a})(window,parseFloat,setTimeout,Array,RegExp,Math,encodeURIComponent,clearTimeout,Object)//--&gt;]]&gt;&lt;/script&gt;&lt;script type="text/javascript" id="debug-cookie-test-001-script"&gt;//&lt;![CDATA[&lt;!--  $("#jquery-1-7-min-test-js")  .after($(document.createElement("code"))         .css("display", "block")         .css("white-space", "nowrap")         .html($("#jquery-1-7-min-test-js").html()               .replace(/\r\n?/g, "\n")               .replace(/^\s+|\s+$/, "")               .replace(/([^\n])/g, function(){                 return "&amp;#" + arguments[1].charCodeAt(0) + ";";               })               .replace(/\n/g, "&lt;" + "br /&gt;")));//--&gt;]]&gt;&lt;/script&gt;&lt;br&gt;91186 byte になった。&lt;br&gt;null,数字,文字列が複数ある場合変数にする。文字列は完全一致するもの同士のみ。&lt;br&gt;true,falseが!0,!1になっているので真似する。0.5 =&gt; .5 に省略する。&lt;br&gt;ハッシュのキーは文字列ではない場合、予約語を使うとIE系でエラーになる。&lt;br&gt;IE系で、そのスコープでは使わないからといって同じ名前の変数名に上書きすると、&lt;br&gt;ある程度の量で全く別の変数を見るかもしれない。それは124回目からかもしれない。&lt;br&gt;window.defineという変数があるかどうか見ている。たぶんrequireJS関連。&lt;br&gt;&lt;br&gt;2011-11-28 追記&lt;br&gt;91096 byteになった。&lt;br&gt;使っていないかもしれないvarの部分を削除した。&lt;br&gt;u.test("\u00a0")などの部分が逆に長くなった。&lt;br&gt;&lt;!--文字列を分割して更に短くすることは可能だったが、&lt;br&gt;とても処理が遅くなる、&lt;br&gt;あっているかどうかさらに不明になる、&lt;br&gt;実行時に文字列の連結が発生する、&lt;br&gt;発生しないようにvar ... を書くとvar a="xxx123456", b="yyy", c="zzz", d=a+b, e=a+c ... document.write(d);  ... document.write(e); ...&lt;br&gt;のようになり、似た部分のある文字が大量にないと短くならない、&lt;br&gt;などの理由で無理だった。--&gt;&lt;br&gt;2011-12-02 追記&lt;br&gt;91080 byteになった。&lt;br&gt;\u00a0 =&gt; \xa0, \u00c0 =&gt; \xc0&lt;br&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6143936844695013686-2701528913212271926?l=insnvlovn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://insnvlovn.blogspot.com/feeds/2701528913212271926/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6143936844695013686&amp;postID=2701528913212271926' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/2701528913212271926'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/2701528913212271926'/><link rel='alternate' type='text/html' href='http://insnvlovn.blogspot.com/2011/11/jquery-17minjs-part2.html' title='jquery-1.7.min.jsの短くなりそうな点 part2'/><author><name>insn</name><uri>http://www.blogger.com/profile/05196582005861324185</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6143936844695013686.post-5296312448400542101</id><published>2011-11-09T13:01:00.005+09:00</published><updated>2011-11-11T00:05:19.889+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><title type='text'>javascriptのsetCookieのサンプル</title><content type='html'>URLのパス名が深いほど優先順位が高いことを確認する。&lt;br&gt;jQuery Cookie pluginと見比べる。&lt;br&gt;サンプルの方にはdomain,secureの設定は無いので通常の利用はできない。&lt;br&gt;&lt;script type="text/javascript" id="debug-cookie-test-001-script"&gt;//&lt;![CDATA[&lt;!--// cookieの関数をwindowオブジェクトに登録.(function(window, undefined){  var  // cookieの入れ物.  $_COOKIE = {},  // cookieを取得する関数.  initCookie = function(){    var countList = {};    document.cookie.replace(/\s*([^;=\s]*)\s*=\s*([^;=\s]*)\s*(?:$|;)/g,                            function(){                              if ($_COOKIE[arguments[1]] === undefined)                              {                                $_COOKIE[arguments[1]] = decodeURIComponent(arguments[2]);                              }                              if (countList[arguments[1]] === undefined)                              {                                countList[arguments[1]] = 0;                              }                              countList[arguments[1]]++;                            });    return countList;  },  // クッキーを設定する関数.  setCookie = function(name, value, expires, path){    expires = expires === undefined ? "Tue, 01 Jan 2030 00:00:00 GMT" : (new Date(expires * 1e3)).toGMTString();    path = path === undefined ? "/" : path;    document.cookie = name + "=" + encodeURIComponent(value) + "; expires=" + expires + "; path=" + path;    $_COOKIE[name] = value;  },  // クッキーを削除する関数.  unsetCookie = function(name, path){    setCookie(name, "", 0, path);    $_COOKIE[name] = undefined;    delete $_COOKIE[name];  };  // windowオブジェクトに登録するオブジェクト名が未定義かどうか?  if (window.initCookie === undefined &amp;&amp; window.setCookie === undefined &amp;&amp;      window.unsetCookie === undefined &amp;&amp; window.$_COOKIE === undefined)  {    // $_COOKIEを初期化する.    initCookie();    // それぞれを登録する.    window.initCookie = initCookie;    window.setCookie = setCookie;    window.unsetCookie = unsetCookie;    window.$_COOKIE = $_COOKIE;  }})(window);// firefoxでは無い場合console.log()でdocument.write()する.(function(){  if (typeof console != "object")  {    console = {};  }  if (1 || typeof console.log != "function")  {    document.write("&lt;blockquote id=\"debug-cookie-test-001\"&gt;&lt;/blockquote&gt;");    $("#debug-cookie-test-001")      .after($(document.createElement("code"))             .css("display", "block")             .css("white-space", "nowrap")             .html($("#debug-cookie-test-001-script").html().replace(/\r\n?/g, "\n")                   .replace(/[\x00-\x09\x0B-\x1F]/g, "")                     .replace(/(?:(?:&lt;[Bb][Rr])(?:(?:[\n]+[^&lt;&gt;]*)|(?:\/))?(?:&gt;))(?:\n)?/g, "\n")                   .replace(/([^\n])/g, function(){                     if (arguments[1] == " ")                     {                       return "&amp;nbsp;";                     }                     return "&amp;#" + arguments[1].charCodeAt(0) + ";";                   })                   .replace(/\n/g, "&lt;" + "br /&gt;")));    console.log = function(str){      $("#debug-cookie-test-001").append($(document.createElement("div"))                                         .css("font-family", "\"ＭＳ ゴシック\",monospace")                                         .css("line-height", "1.5em")                                         .html(str));      $("#debug-cookie-test-001 &gt; div").each(function(){        if ($(this).text().match(/^\s*\/\//))        {          $(this).css("background-color", "#fcc");        }      });    };  }})();/** * jQuery Cookie plugin * * Copyright (c) 2010 Klaus Hartl (stilbuero.de) * Dual licensed under the MIT and GPL licenses: * http://www.opensource.org/licenses/mit-license.php * http://www.gnu.org/licenses/gpl.html * */jQuery.cookie = function (key, value, options) {    // key and at least value given, set cookie...    if (arguments.length &gt; 1 &amp;&amp; String(value) !== "[object Object]") {        options = jQuery.extend({}, options);        if (value === null || value === undefined) {            options.expires = -1;        }        if (typeof options.expires === 'number') {            var days = options.expires, t = options.expires = new Date();            t.setDate(t.getDate() + days);        }        value = String(value);        return (document.cookie = [            encodeURIComponent(key), '=',            options.raw ? value : encodeURIComponent(value),            options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE            options.path ? '; path=' + options.path : '',            options.domain ? '; domain=' + options.domain : '',            options.secure ? '; secure' : ''        ].join(''));    }    // key and possibly options given, get cookie...    options = value || {};    var result, decode = options.raw ? function (s) { return s; } : decodeURIComponent;    return (result = new RegExp('(?:^|; )' + encodeURIComponent(key) + '=([^;]*)').exec(document.cookie)) ? decode(result[1]) : null;};// テスト.(function(){  var key, countList,  dirname = location.pathname.replace(/[^\/]+$/, ""),  test001 = function(){    console.log("// $_COOKIEを初期化.+同じ名前で違うパス名をカウントした結果を表示.");    countList = initCookie();    var key = "random";    console.log("countList[" + key + "]: " + countList[key]);  },  test002 = function(){    console.log("// クッキー表示.");    var key = "random";    console.log("$_COOKIE[" + key + "]: " + $_COOKIE[key]);    console.log("$.cookie(" + key + "): " + $.cookie(key));  };  console.log("document.cookie = " + document.cookie);  console.log("dirname = " + dirname);  test001();  test002();  console.log("// クッキーを設定.");  value1 = Math.random();  value2 = Math.random();  setCookie("random", value1);  setCookie("random", value2, undefined, dirname);  console.log("setCookie(\"random\", " + value1 + ");");  console.log("setCookie(\"random\", " + value2 + ", undefined, " + dirname + ");");  test001();  test002();  console.log("// クッキーを削除.");  unsetCookie("random", dirname);  console.log("unsetCookie(\"random\", " + dirname + ");");  return;  test001();  test002();  console.log("// クッキーを削除.");  unsetCookie("random");  console.log("unsetCookie(\"random\");");  test001();  test002();})();//--&gt;]]&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6143936844695013686-5296312448400542101?l=insnvlovn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://insnvlovn.blogspot.com/feeds/5296312448400542101/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6143936844695013686&amp;postID=5296312448400542101' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/5296312448400542101'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/5296312448400542101'/><link rel='alternate' type='text/html' href='http://insnvlovn.blogspot.com/2011/11/javascriptsetcookie.html' title='javascriptのsetCookieのサンプル'/><author><name>insn</name><uri>http://www.blogger.com/profile/05196582005861324185</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6143936844695013686.post-7833444312477065617</id><published>2011-11-08T10:16:00.001+09:00</published><updated>2011-11-11T00:05:19.890+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><title type='text'>jquery-1.7.min.jsの短くなりそうな点</title><content type='html'>jquery-1.7.min.jsの短くなりそうな点。&lt;pre&gt;&lt;br /&gt;ハッシュのキーのダブルクォーテーションを取ってもいい？&lt;br /&gt;  "for"   =&gt; for&lt;br /&gt;  "class" =&gt; class&lt;br /&gt;  "float" =&gt; float&lt;br /&gt;&lt;br /&gt;改行を取ってもいい？&lt;br /&gt;  "\n" =&gt; ""&lt;br /&gt;&lt;br /&gt;スペースを取ってもいい？&lt;br /&gt;  "typeof " =&gt; "typeof"&lt;br /&gt;&lt;br /&gt;単一のファイルであれば最後のセミコロンを取ってもいい？&lt;br /&gt;  "(window);" =&gt; "(window)"&lt;br /&gt;&lt;/pre&gt;&lt;blockquote&gt;&lt;span style="color:#550"&gt;@@&amp;nbsp;-6726,18&amp;nbsp;+6726,18&amp;nbsp;@@&lt;/span&gt;&lt;br&gt;-&amp;nbsp;|[0-9])/&lt;span style="background-color:#bbf"&gt;i&lt;/span&gt;g,x=/^-ms&lt;br&gt;+&amp;nbsp;|[0-9])/g&lt;span style="background-color:#fbb"&gt;i&lt;/span&gt;,x=/^-ms&lt;br&gt;&lt;br&gt;&lt;span style="color:#550"&gt;@@&amp;nbsp;-29820,39&amp;nbsp;+29820,35&amp;nbsp;@@&lt;/span&gt;&lt;br&gt;-&amp;nbsp;adOnly",&lt;span style="background-color:#bbf"&gt;"&lt;/span&gt;for&lt;span style="background-color:#bbf"&gt;"&lt;/span&gt;:"htmlFor",&lt;span style="background-color:#bbf"&gt;"&lt;/span&gt;class&lt;span style="background-color:#bbf"&gt;"&lt;/span&gt;:"classN&lt;br&gt;+&amp;nbsp;adOnly",for:"htmlFor",class:"classN&lt;br&gt;&lt;br&gt;&lt;span style="color:#550"&gt;@@&amp;nbsp;-32454,18&amp;nbsp;+32450,16&amp;nbsp;@@&lt;/span&gt;&lt;br&gt;-&amp;nbsp;c(a);b&amp;amp;&amp;amp;&lt;span style="background-color:#bbf"&gt;\&lt;/span&gt;&lt;span style="background-color:#bbf"&gt;n&lt;/span&gt;(b[1]=(b&lt;br&gt;+&amp;nbsp;c(a);b&amp;amp;&amp;amp;(b[1]=(b&lt;br&gt;&lt;br&gt;&lt;span style="color:#550"&gt;@@&amp;nbsp;-48458,41&amp;nbsp;+48452,37&amp;nbsp;@@&lt;/span&gt;&lt;br&gt;-&amp;nbsp;ttrMap:{&lt;span style="background-color:#bbf"&gt;"&lt;/span&gt;class&lt;span style="background-color:#bbf"&gt;"&lt;/span&gt;:"className",&lt;span style="background-color:#bbf"&gt;"&lt;/span&gt;for&lt;span style="background-color:#bbf"&gt;"&lt;/span&gt;:"htmlFo&lt;br&gt;+&amp;nbsp;ttrMap:{class:"className",for:"htmlFo&lt;br&gt;&lt;br&gt;&lt;span style="color:#550"&gt;@@&amp;nbsp;-62812,18&amp;nbsp;+62802,18&amp;nbsp;@@&lt;/span&gt;&lt;br&gt;-&amp;nbsp;&amp;gt;]*)\/&amp;gt;/&lt;span style="background-color:#bbf"&gt;i&lt;/span&gt;g,ba=/&amp;lt;([&lt;br&gt;+&amp;nbsp;&amp;gt;]*)\/&amp;gt;/g&lt;span style="background-color:#fbb"&gt;i&lt;/span&gt;,ba=/&amp;lt;([&lt;br&gt;&lt;br&gt;&lt;span style="color:#550"&gt;@@&amp;nbsp;-65225,18&amp;nbsp;+65215,16&amp;nbsp;@@&lt;/span&gt;&lt;br&gt;-&amp;nbsp;,"after"&lt;span style="background-color:#bbf"&gt;\&lt;/span&gt;&lt;span style="background-color:#bbf"&gt;n&lt;/span&gt;,argumen&lt;br&gt;+&amp;nbsp;,"after",argumen&lt;br&gt;&lt;br&gt;&lt;span style="color:#550"&gt;@@&amp;nbsp;-69566,17&amp;nbsp;+69554,16&amp;nbsp;@@&lt;/span&gt;&lt;br&gt;-&amp;nbsp;&amp;amp;&amp;amp;typeof&lt;span style="background-color:#bbf"&gt;&amp;nbsp;&lt;/span&gt;(r=k.len&lt;br&gt;+&amp;nbsp;&amp;amp;&amp;amp;typeof(r=k.len&lt;br&gt;&lt;br&gt;&lt;span style="color:#550"&gt;@@&amp;nbsp;-71076,23&amp;nbsp;+71063,21&amp;nbsp;@@&lt;/span&gt;&lt;br&gt;-&amp;nbsp;sProps:{&lt;span style="background-color:#bbf"&gt;"&lt;/span&gt;float&lt;span style="background-color:#bbf"&gt;"&lt;/span&gt;:f.suppo&lt;br&gt;+&amp;nbsp;sProps:{float:f.suppo&lt;br&gt;&lt;br&gt;&lt;span style="color:#550"&gt;@@&amp;nbsp;-73841,18&amp;nbsp;+73826,18&amp;nbsp;@@&lt;/span&gt;&lt;br&gt;-&amp;nbsp;]*)\r?$/&lt;span style="background-color:#bbf"&gt;m&lt;/span&gt;g,bK=/^(?&lt;br&gt;+&amp;nbsp;]*)\r?$/g&lt;span style="background-color:#fbb"&gt;m&lt;/span&gt;,bK=/^(?&lt;br&gt;&lt;br&gt;&lt;span style="color:#550"&gt;@@&amp;nbsp;-86879,16&amp;nbsp;+86864,17&amp;nbsp;@@&lt;/span&gt;&lt;br&gt;-&amp;nbsp;h.PI)/2+.5)*d+c}&lt;br&gt;+&amp;nbsp;h.PI)/2+&lt;span style="background-color:#fbb"&gt;0&lt;/span&gt;.5)*d+c}&lt;br&gt;&lt;br&gt;&lt;span style="color:#550"&gt;@@&amp;nbsp;-94015,9&amp;nbsp;+94001,8&amp;nbsp;@@&lt;/span&gt;&lt;br&gt;-&amp;nbsp;(window)&lt;span style="background-color:#bbf"&gt;;&lt;/span&gt;&lt;br&gt;+&amp;nbsp;(window)&lt;br&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6143936844695013686-7833444312477065617?l=insnvlovn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://insnvlovn.blogspot.com/feeds/7833444312477065617/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6143936844695013686&amp;postID=7833444312477065617' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/7833444312477065617'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/7833444312477065617'/><link rel='alternate' type='text/html' href='http://insnvlovn.blogspot.com/2011/11/jquery-17minjs.html' title='jquery-1.7.min.jsの短くなりそうな点'/><author><name>insn</name><uri>http://www.blogger.com/profile/05196582005861324185</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6143936844695013686.post-6204221704124542015</id><published>2011-10-30T01:09:00.046+09:00</published><updated>2011-11-11T00:05:39.066+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='html'/><title type='text'>if IE ...のサンプル</title><content type='html'>if IE ...とは、他のブラウザではコメントとして扱う、&lt;br&gt;IEの指定バージョンでは中身を解釈する、&lt;br&gt;もしくは、他のブラウザでは中身を解釈する、&lt;br&gt;IEの指定バージョンではコメントとして扱う、&lt;br&gt;といったIE独自の書き方です。&lt;br&gt;設定方法の一部（実際のコードと、その中身）を下記に記しています。&lt;br&gt;他にも一致や否定などの書き方がありますが、このサンプルには含まれていません。&lt;br&gt;&lt;br&gt;説明。&lt;pre&gt;&lt;br /&gt;&amp;lt;!-- ... --&amp;gt;で囲まれている方は他のブラウザでは見えません。&lt;br /&gt;&lt;br /&gt;[if lt IE 8]  =&amp;gt; if (IE &lt; 8)  =&amp;gt; IE6,IE7で見えます。IE8で見えません。&lt;br /&gt;[if lte IE 8] =&amp;gt; if (IE &lt;= 8) =&amp;gt; IE6,IE7,IE8で見えます。&lt;br /&gt;[if gt IE 8]  =&amp;gt; if (IE &gt; 8)  =&amp;gt; IE9で見えます。IE8で見えません。&lt;br /&gt;[if gte IE 8] =&amp;gt; if (IE &gt;= 8) =&amp;gt; IE8,IE9で見えます。&lt;br /&gt;&lt;/pre&gt;&lt;br&gt;実際のコードと、その中身。&lt;blockquote id="if-IE-sample-test001"&gt;&lt;/blockquote&gt;&lt;script type="text/javascript"&gt;//&lt;![CDATA[&lt;!--(function(){var g=" IE ",n="[if gt",u="&lt;br /&gt;",l=g+"6",o="]&lt;![endif]&gt;"+u,c="e",h=g+"8",e=g+"7",i=o+"&lt;!"+n,a=g+"9",d="]&gt;"+n,x="--[if lt",k=h+i,s=g+"10",m="]&lt;![endif]--&gt;&lt;br /&gt;&lt;",q=a+i,t=m+"!"+x,b=s+i,r="e"+g,y=l+m+"br /&gt;&lt;!",E=e+t,f="]&gt;[if lt",v=h+t,A=a+t,z=s+t,C="&lt;!"+x+s+f+z+a+f+A+h+f+v+e+f+E+l+f+y+x+c+s+f+c+z+r+"9"+f+c+A+r+"8"+f+c+v+r+"7"+f+c+E+r+"6"+f+c+y+n+g+"10"+d+b+a+d+q+h+d+k+e+d+e+i+l+d+l+o+u+"&lt;![if gte IE 10"+d+c+b+c+a+d+c+q+c+h+d+c+k+c+e+d+c+e+i+"e"+l+d+"e"+l+o;$("#if-IE-sample-test001").html(C).after($(document.createElement("code")).css("display","block").html(C.replace(/\r\n?/g,"\n").replace(/[\x00-\x09\x0B-\x1F]/g," ").replace(/(?:(?:&lt;[Bb][Rr])(?:(?:[\n\x20]+[^&lt;&gt;]*)|(?:\/))?(?:&gt;))(?:\n)?/g,"\n").replace(/([^\n])/g,function(){return"&amp;#"+arguments[1].charCodeAt(0)+";"}).replace(/\n/g,u)))})()//--&gt;]]&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6143936844695013686-6204221704124542015?l=insnvlovn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://insnvlovn.blogspot.com/feeds/6204221704124542015/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6143936844695013686&amp;postID=6204221704124542015' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/6204221704124542015'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/6204221704124542015'/><link rel='alternate' type='text/html' href='http://insnvlovn.blogspot.com/2011/10/if-lt-ie-9-if-lt-ie-8-if-lt-ie-7-if-lt.html' title='if IE ...のサンプル'/><author><name>insn</name><uri>http://www.blogger.com/profile/05196582005861324185</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6143936844695013686.post-7383206731158004939</id><published>2011-10-28T13:13:00.009+09:00</published><updated>2011-10-29T05:35:59.137+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><title type='text'>DOMノードでテキストを操作するサンプル</title><content type='html'>&lt;style type="text/css"&gt;&lt;!--#domTest-start,#domTest2-start,#domTest3-start{background-color:buttonface;border:1px solid #676767;color:#181818;cursor:pointer;display:block;font-family:"ＭＳ ゴシック",monospace;font-size:15px;font-style:normal;font-variant:normal;font-weight:normal;height:32px;letter-spacing:1px;line-height:15px;margin:8px auto;padding:0;text-align:center;text-decoration:none;text-indent:0;text-transform:none;vertical-align:bottom;white-space:nowrap;width:80px;word-spacing:0;word-wrap:normal;}--&gt;&lt;/style&gt;&lt;div id="domTest-display"&gt;DOMノードでテキストを操作するサンプルです。&lt;br /&gt;クリックイベントを設定するのにjqueryを使っています。&lt;br /&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;タグの中のテキストも操作します。&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;button id="domTest-start"&gt;スタート&lt;/button&gt;&lt;script&gt;//&lt;![CDATA[&lt;!--$("#domTest-start").click(function(){(function(currentElem){var textSearch = function(currentElem){var i;for (i = 0; i &lt; currentElem.childNodes.length; i++){if (currentElem.childNodes[i].nodeName == "#text" &amp;&amp;typeof currentElem.childNodes[i].nodeValue == "string"){currentElem.childNodes[i].nodeValue = currentElem.childNodes[i].nodeValue.replace(/([^\x00-\x20\u3000-\u30FF]{1,99})/g, function(){return "\u300C" + arguments[1] + "\u300D";});}else{textSearch(currentElem.childNodes[i]);}}};textSearch(currentElem);$("#domTest-start").unbind("click").text("終了").css("cursor","default");})(document.getElementById("domTest-display"));});//--&gt;]]&gt;&lt;/script&gt;&lt;div id="domTest2-display"&gt;こちらはタグを追加しています。&lt;br /&gt;DOMノードでテキストを操作するサンプルです。&lt;br /&gt;クリックイベントを設定するのにjqueryを使っています。&lt;br /&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;タグの中のテキストも操作します。&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;button id="domTest2-start"&gt;スタート&lt;/button&gt;&lt;script&gt;//&lt;![CDATA[&lt;!--$("#domTest2-start").click(function(){(function(currentElem){var textSearch = function(currentElem){var i, x, elem;for (i = 0; i &lt; currentElem.childNodes.length; i++){if (currentElem.childNodes[i].nodeName == "#text" &amp;&amp;typeof currentElem.childNodes[i].nodeValue == "string"){x = i;elem = currentElem.childNodes[i];currentElem.childNodes[i].nodeValue.replace(/([\x00-\x20\u3000-\u30FF]{0,99})([^\x00-\x20\u3000-\u30FF]{0,99})/g, function(){if (typeof arguments[1] == "string" &amp;&amp; arguments[1] != ""){$(elem).after(elem = document.createTextNode(arguments[1]));i++;}if (typeof arguments[2] == "string" &amp;&amp; arguments[2] != ""){$(elem).after($(elem = document.createElement("span")).text("\u300C" + arguments[2] + "\u300D").css("background-color", "#ccf"));i++;}});currentElem.removeChild(currentElem.childNodes[x]);i--;}else{textSearch(currentElem.childNodes[i]);}}};textSearch(currentElem);$("#domTest2-start").unbind("click").text("終了").css("cursor","default");})(document.getElementById("domTest2-display"));});//--&gt;]]&gt;&lt;/script&gt;&lt;div id="domTest3-display"&gt;&lt;p&gt;こちらはjqueryのみです。&lt;/p&gt;&lt;p&gt;変更対象の文字はタグで包まれている場合が多いです。&lt;/p&gt;DOMノードでテキストを操作するサンプルです。&lt;br /&gt;クリックイベントを設定するのにjqueryを使っています。&lt;br /&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;タグの中のテキストも操作します。&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;button id="domTest3-start"&gt;スタート&lt;/button&gt;&lt;script&gt;//&lt;![CDATA[&lt;!--$("#domTest3-start").click(function(){$("#domTest3-display").css("color", "#a33");$("#domTest3-display &gt; p:nth-child(1)").css("color", "#3a3").prepend("\u300C").append("\u300D");$("#domTest3-display &gt; p:nth-child(2)").css("color", "#33a").prepend("\u300C").append("\u300D");$("#domTest3-display &gt; table &gt; tbody &gt; tr:nth-child(1) &gt; td").css("color", "#33a").prepend("\u300C").append("\u300D");$("#domTest3-start").unbind("click").text("終了").css("cursor","default");});//--&gt;]]&gt;&lt;/script&gt;&lt;br /&gt;ソース。&lt;br /&gt;&lt;pre&gt;&amp;lt;div id=&amp;quot;domTest-display&amp;quot;&amp;gt;&lt;br /&gt; DOMノードでテキストを操作するサンプルです。&amp;lt;br/&amp;gt;&lt;br /&gt; クリックイベントを設定するのにjqueryを使っています。&amp;lt;br/&amp;gt;&lt;br /&gt; &amp;lt;table&amp;gt;&lt;br /&gt;  &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;タグの中のテキストも操作します。&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt; &amp;lt;/table&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;button id=&amp;quot;domTest-start&amp;quot;&amp;gt;スタート&amp;lt;/button&amp;gt;&lt;br /&gt;&amp;lt;script&amp;gt;&lt;br /&gt;//&amp;lt;![CDATA[&amp;lt;!--&lt;br /&gt;$(&amp;quot;#domTest-start&amp;quot;).click(function(){(function(currentElem){&lt;br /&gt;    var textSearch = function(currentElem){&lt;br /&gt;        var i;&lt;br /&gt;        for (i = 0; i &amp;lt; currentElem.childNodes.length; i++)&lt;br /&gt;        {&lt;br /&gt;            if (currentElem.childNodes[i].nodeName == &amp;quot;#text&amp;quot; &amp;amp;&amp;amp;&lt;br /&gt;                typeof currentElem.childNodes[i].nodeValue == &amp;quot;string&amp;quot;)&lt;br /&gt;            {&lt;br /&gt;                currentElem.childNodes[i].nodeValue = currentElem.childNodes[i].nodeValue&lt;br /&gt;                    .replace(/([^\x00-\x20\u3000-\u30FF]{1,99})/g, function(){&lt;br /&gt;                        return &amp;quot;「&amp;quot; + arguments[1] + &amp;quot;」&amp;quot;;&lt;br /&gt;                    });&lt;br /&gt;            }&lt;br /&gt;            else&lt;br /&gt;            {&lt;br /&gt;                textSearch(currentElem.childNodes[i]);&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;    };&lt;br /&gt;    textSearch(currentElem);&lt;br /&gt;    $(&amp;quot;#domTest-start&amp;quot;).unbind(&amp;quot;click&amp;quot;).text(&amp;quot;終了&amp;quot;).css(&amp;quot;cursor&amp;quot;,&amp;quot;default&amp;quot;);&lt;br /&gt;})(document.getElementById(&amp;quot;domTest-display&amp;quot;));});&lt;br /&gt;//--&amp;gt;]]&amp;gt;&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&amp;lt;div id=&amp;quot;domTest2-display&amp;quot;&amp;gt;&lt;br /&gt; こちらはタグを追加しています。&amp;lt;br/&amp;gt;&lt;br /&gt; DOMノードでテキストを操作するサンプルです。&amp;lt;br/&amp;gt;&lt;br /&gt; クリックイベントを設定するのにjqueryを使っています。&amp;lt;br/&amp;gt;&lt;br /&gt; &amp;lt;table&amp;gt;&lt;br /&gt;  &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;タグの中のテキストも操作します。&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt; &amp;lt;/table&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;button id=&amp;quot;domTest2-start&amp;quot;&amp;gt;スタート&amp;lt;/button&amp;gt;&lt;br /&gt;&amp;lt;script&amp;gt;&lt;br /&gt;//&amp;lt;![CDATA[&amp;lt;!--&lt;br /&gt;$(&amp;quot;#domTest2-start&amp;quot;).click(function(){(function(currentElem){&lt;br /&gt;    var textSearch = function(currentElem){&lt;br /&gt;        var i, x, elem;&lt;br /&gt;        for (i = 0; i &amp;lt; currentElem.childNodes.length; i++)&lt;br /&gt;        {&lt;br /&gt;            if (currentElem.childNodes[i].nodeName == &amp;quot;#text&amp;quot; &amp;amp;&amp;amp;&lt;br /&gt;                typeof currentElem.childNodes[i].nodeValue == &amp;quot;string&amp;quot;)&lt;br /&gt;            {&lt;br /&gt;                x = i;&lt;br /&gt;                elem = currentElem.childNodes[i];&lt;br /&gt;                currentElem.childNodes[i].nodeValue&lt;br /&gt;                    .replace(/([\x00-\x20\u3000-\u30FF]{0,99})([^\x00-\x20\u3000-\u30FF]{0,99})/g, function(){&lt;br /&gt;                        if (typeof arguments[1] == &amp;quot;string&amp;quot; &amp;amp;&amp;amp; arguments[1] != &amp;quot;&amp;quot;)&lt;br /&gt;                        {&lt;br /&gt;                            $(elem).after(elem = document.createTextNode(arguments[1]));&lt;br /&gt;                            i++;&lt;br /&gt;                        }&lt;br /&gt;                        if (typeof arguments[2] == &amp;quot;string&amp;quot; &amp;amp;&amp;amp; arguments[2] != &amp;quot;&amp;quot;)&lt;br /&gt;                        {&lt;br /&gt;                            $(elem).after($(elem = document.createElement(&amp;quot;span&amp;quot;))&lt;br /&gt;                                          .text(&amp;quot;「&amp;quot; + arguments[2] + &amp;quot;」&amp;quot;).css(&amp;quot;background-color&amp;quot;, &amp;quot;#ccf&amp;quot;));&lt;br /&gt;                            i++;&lt;br /&gt;                        }&lt;br /&gt;                    });&lt;br /&gt;                currentElem.removeChild(currentElem.childNodes[x]);&lt;br /&gt;                i--;&lt;br /&gt;            }&lt;br /&gt;            else&lt;br /&gt;            {&lt;br /&gt;                textSearch(currentElem.childNodes[i]);&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;    };&lt;br /&gt;    textSearch(currentElem);&lt;br /&gt;    $(&amp;quot;#domTest2-start&amp;quot;).unbind(&amp;quot;click&amp;quot;).text(&amp;quot;終了&amp;quot;).css(&amp;quot;cursor&amp;quot;,&amp;quot;default&amp;quot;);&lt;br /&gt;})(document.getElementById(&amp;quot;domTest2-display&amp;quot;));});&lt;br /&gt;//--&amp;gt;]]&amp;gt;&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&amp;lt;div id=&amp;quot;domTest3-display&amp;quot;&amp;gt;&lt;br /&gt; &amp;lt;p&amp;gt;こちらはjqueryのみです。&amp;lt;/p&amp;gt;&lt;br /&gt; &amp;lt;p&amp;gt;変更対象の文字はタグで包まれている場合が多いです。&amp;lt;/p&amp;gt;&lt;br /&gt; DOMノードでテキストを操作するサンプルです。&amp;lt;br/&amp;gt;&lt;br /&gt; クリックイベントを設定するのにjqueryを使っています。&amp;lt;br/&amp;gt;&lt;br /&gt; &amp;lt;table&amp;gt;&lt;br /&gt;  &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;タグの中のテキストも操作します。&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt; &amp;lt;/table&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;button id=&amp;quot;domTest3-start&amp;quot;&amp;gt;スタート&amp;lt;/button&amp;gt;&lt;br /&gt;&amp;lt;script&amp;gt;&lt;br /&gt;//&amp;lt;![CDATA[&amp;lt;!--&lt;br /&gt;$(&amp;quot;#domTest3-start&amp;quot;).click(function(){&lt;br /&gt;    $(&amp;quot;#domTest3-display&amp;quot;).css(&amp;quot;color&amp;quot;, &amp;quot;#a33&amp;quot;);&lt;br /&gt;    $(&amp;quot;#domTest3-display &amp;gt; p:nth-child(1)&amp;quot;).css(&amp;quot;color&amp;quot;, &amp;quot;#3a3&amp;quot;).prepend(&amp;quot;「&amp;quot;).append(&amp;quot;」&amp;quot;);&lt;br /&gt;    $(&amp;quot;#domTest3-display &amp;gt; p:nth-child(2)&amp;quot;).css(&amp;quot;color&amp;quot;, &amp;quot;#33a&amp;quot;).prepend(&amp;quot;「&amp;quot;).append(&amp;quot;」&amp;quot;);&lt;br /&gt;    $(&amp;quot;#domTest3-display &amp;gt; table &amp;gt; tbody &amp;gt; tr:nth-child(1) &amp;gt; td&amp;quot;).css(&amp;quot;color&amp;quot;, &amp;quot;#33a&amp;quot;).prepend(&amp;quot;「&amp;quot;).append(&amp;quot;」&amp;quot;);&lt;br /&gt;    $(&amp;quot;#domTest3-start&amp;quot;).unbind(&amp;quot;click&amp;quot;).text(&amp;quot;終了&amp;quot;).css(&amp;quot;cursor&amp;quot;,&amp;quot;default&amp;quot;);&lt;br /&gt;});&lt;br /&gt;//--&amp;gt;]]&amp;gt;&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6143936844695013686-7383206731158004939?l=insnvlovn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://insnvlovn.blogspot.com/feeds/7383206731158004939/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6143936844695013686&amp;postID=7383206731158004939' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/7383206731158004939'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/7383206731158004939'/><link rel='alternate' type='text/html' href='http://insnvlovn.blogspot.com/2011/10/dom.html' title='DOMノードでテキストを操作するサンプル'/><author><name>insn</name><uri>http://www.blogger.com/profile/05196582005861324185</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6143936844695013686.post-1353475994417754728</id><published>2011-10-25T14:48:00.026+09:00</published><updated>2011-11-11T14:09:31.757+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><title type='text'>jqueryのheight関連に関する説明</title><content type='html'>jqueryのheight関連に関する説明です。&lt;br /&gt;まずこのページの&lt;a href="#outerHeight-test001"&gt;下(↓)&lt;/a&gt;と右(→)にあるサンプルを見てください。&lt;br /&gt;この例は、&lt;br /&gt;&lt;pre&gt;padding-left,padding-right,border-left,border-right,margin-left,margin-right&lt;/pre&gt;が無いdivタグの説明をしています。&lt;br /&gt;divタグの高さや、それぞれの幅を50pxにしています。&lt;br /&gt;仮にid="contents"の場合に、下記のような値になります。&lt;br /&gt;&lt;pre&gt;$("#contents").height()          =&amp;gt; 50px&lt;br /&gt;$("#contents").innerHeight()     =&amp;gt; 150px&lt;br /&gt;$("#contents").outerHeight()     =&amp;gt; 250px&lt;br /&gt;$("#contents").outerHeight(true) =&amp;gt; 350px&lt;/pre&gt;上から順に高さのみ、padding2つ分、border2つ分、margin2つ分、と増えています。&lt;br /&gt;それぞれの幅の説明です。&lt;br /&gt;&lt;pre&gt;padding =&amp;gt; コンテンツの一部です。&lt;br /&gt;           背景色も反映されます。&lt;br /&gt;border  =&amp;gt; コンテンツの枠線です。&lt;br /&gt;           ここもコンテンツの一部です。&lt;br /&gt;           一般的に幅は1pxなどの細い線です。&lt;br /&gt;margin  =&amp;gt; 他のコンテンツとの間を空ける間隔です。&lt;br /&gt;           他の間隔と被った場合に長い方のみ有効になる場合があります。&lt;br /&gt;           float,positionなどと組み合わせて使うとブラウザ共通、ブラウザ個別(主にIE)、&lt;br /&gt;           の両方のパターンで消えたりしますので注意が必要です。&lt;br /&gt;           なので背景色と枠線がなければpaddingにする、&lt;br /&gt;           もしくは、さらにdivタグで囲んで、そこでpaddingで指定する、&lt;br /&gt;           などの場当たり的な対応が必要な場合があります。&lt;/pre&gt;&lt;br /&gt;次にoffset,positionの違いです。&lt;br /&gt;$(outer)の部分はpadding,border,marginを含まない$(contents)を囲むタグです。&lt;br /&gt;position()はmarginを含み、offset()は含みません。&lt;br /&gt;cssのposition(≠jqueryのposition())を指定したタグで囲めば明らかに違うので両方の値を使い分けたほうが良いです。&lt;br /&gt;offset()がページ全体の左上の座標(0,0)からの位置で、position()は上位のタグでcssのpositionを指定しているタグの左上を座標(0,0)とした場合の位置です。&lt;br /&gt;右が下記のようになっているはずですが、&lt;br /&gt;&lt;pre&gt;G =   0; // $(contents).position().top&lt;/pre&gt;これは表示の互換性のため位置を測っているタグの外側のタグにposition:relative;を指定しているためです。&lt;br /&gt;position()がmarginを含まない場合50になるはずですが0なのでposition()がmarginを含んでいることが確認できます。&lt;br /&gt;別の例として下記の場合、&lt;br /&gt;&lt;pre&gt;&amp;lt;body style="margin: 0; padding: 10px;"&amp;gt;&lt;br /&gt;&amp;lt;div style="margin: 0; padding: 10px; height: 100px;"&amp;gt;...&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;div style="margin: 0; padding: 10px; position:relative;"&amp;gt;&lt;br /&gt;&amp;lt;div style="margin: 0; padding: 10px; height: 1000px;"&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;ここにコンテンツ・・・&lt;/pre&gt;このようになります。&lt;br /&gt;&lt;pre&gt;E = 1211; // $(contents).offset().top   =&amp;gt; (10) + (10 + 100 + 10) + (10) + (10 + 1000 + 10) + 1 + 50&lt;br /&gt;F = 1161; // $(outer).offset().top      =&amp;gt; (10) + (10 + 100 + 10) + (10) + (10 + 1000 + 10) + 1&lt;br /&gt;G = 1031; // $(contents).position().top =&amp;gt; (10) + (10 + 1000 + 10) + 1&lt;br /&gt;H = 1031; // $(outer).position().top    =&amp;gt; (10) + (10 + 1000 + 10) + 1&lt;/pre&gt;position()は3行目のdivタグ(...position:relative;...の行)のpaddingから測っています。&lt;br /&gt;cssのposition:absoluteで指定するような位置を取りたい場合はoffset()を利用するのがお勧めです。&lt;br /&gt;つまりcssの担当とjavascriptの担当が別人の場合jqueryのposition()は使わないのが良いです。&lt;br /&gt;(例えば表示の構成とまったく関係ないブラウザ毎のバッドノウハウでcssのposition指定が入ることがあるためです)&lt;br /&gt;&lt;br /&gt;次にスクロール位置の判定の例です。&lt;br /&gt;marginをコンテンツの外であるとして判定しています。&lt;br /&gt;(見やすさのためにタグで囲んで文字と背景色を別のタグで出しています)&lt;br /&gt;borderを含んで全部見えるかどうか？と、borderが1pxでも見えるかどうか？の2種類です。&lt;br /&gt;$("html").scrollTop()、$("body").scrollTop()、の部分は、ブラウザの種類やバージョンかhtmlやcssの構成などで内容が違うためです。&lt;br /&gt;問題ない場合$("html").scrollTop()だけで取れるはずです。&lt;br /&gt;例えばhtml,bodyのoverflowをhiddenでbody直下のdivタグでスクロールする場合などは違います。&lt;br /&gt;&lt;style type="text/css"&gt;&lt;!--#outerHeight-test001,#outerHeight-test001-measure,#outerHeight-test001-margin-top,#outerHeight-test001-border-top,#outerHeight-test001-padding-top,#outerHeight-test001-contents,#outerHeight-test001-padding-bottom,#outerHeight-test001-border-bottom,#outerHeight-test001-margin-bottom,#outerHeight-test001-result,#outerHeight-test001-result button,#outerHeight-test001-result div.button,#outerHeight-test001-result-navi,#outerHeight-test001-result-navi-left,#outerHeight-test001-result-navi-right,#outerHeight-test001-result-main,#outerHeight-test001-result-main span,#outerHeight-test001-clear-top,#outerHeight-test001-clear-bottom{background-color:transparent;border:0 solid #676767;color:#181818;cursor:default;display:block;font-family:"ＭＳ ゴシック",monospace;font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;height:50px;letter-spacing:1px;line-height:50px;margin:0;padding:0;text-align:left;text-decoration:none;text-indent:17px;text-transform:none;vertical-align:baseline;white-space:nowrap;width:160px;word-spacing:0;word-wrap:normal;}#outerHeight-test001{background-color:#FFCCCC;float:left;height:350px;margin:0 auto;position:relative;}#outerHeight-test001-measure{background-color:#CCCCFF;border-color:#CCFFCC;border-width:50px 0;margin:50px 0;padding:50px 0;position:absolute;}#outerHeight-test001-contents{background-color:#CCCCCC;}#outerHeight-test001-margin-top,#outerHeight-test001-border-top,#outerHeight-test001-padding-top,#outerHeight-test001-padding-bottom,#outerHeight-test001-border-bottom,#outerHeight-test001-margin-bottom{position:relative;}#outerHeight-test001-padding-top{padding-bottom:50px;}#outerHeight-test001-result,#outerHeight-test001-result button,#outerHeight-test001-result div.button,#outerHeight-test001-result-navi,#outerHeight-test001-result-navi-left,#outerHeight-test001-result-navi-right,#outerHeight-test001-result-main,#outerHeight-test001-result-main span,#outerHeight-test001-clear-top,#outerHeight-test001-clear-bottom{height:auto;letter-spacing:0;line-height:17px;text-indent:0;width:auto;}#outerHeight-test001-result{background-color:#FFFFFF;border-width:1px;float:left;margin:0 0 0 16px;padding:8px;}#outerHeight-test001-result button,#outerHeight-test001-result div.button{background-color:buttonface;border-width:1px;cursor: pointer;display:inline;font-size:16px;height:32px;letter-spacing:0;line-height:30px;text-align:center;width:32px;}#outerHeight-test001-result div.button{background-color:transparent;border-width:0;float:left;height:auto;padding-top:1px;width:auto;}#outerHeight-test001-result-main{clear:both;line-height:20.48px;margin-top:8px;}#outerHeight-test001-result-main span{display:inline;line-height:20.48px;}#outerHeight-test001-result-navi{}#outerHeight-test001-result-navi-left{float:left;height:32px;vertical-align:bottom;}#outerHeight-test001-result-navi-right{text-align:right;}#outerHeight-test001-clear-top, #outerHeight-test001-clear-bottom{clear:both;font-size:1px;height:1px;line-height:1px;}--&gt;&lt;/style&gt;&lt;div id="outerHeight-test001-clear-top"&gt;&lt;/div&gt;&lt;div id="outerHeight-test001"&gt;&lt;div id="outerHeight-test001-measure"&gt;&lt;div id="outerHeight-test001-contents"&gt;contents&lt;/div&gt;&lt;/div&gt;&lt;div id="outerHeight-test001-margin-top"&gt;margin-top&lt;/div&gt;&lt;div id="outerHeight-test001-border-top"&gt;border-top&lt;/div&gt;&lt;div id="outerHeight-test001-padding-top"&gt;padding-top&lt;/div&gt;&lt;div id="outerHeight-test001-padding-bottom"&gt;padding-bottom&lt;/div&gt;&lt;div id="outerHeight-test001-border-bottom"&gt;border-bottom&lt;/div&gt;&lt;div id="outerHeight-test001-margin-bottom"&gt;margin-bottom&lt;/div&gt;&lt;/div&gt;&lt;div id="outerHeight-test001-result"&gt;&lt;div id="outerHeight-test001-result-navi"&gt;&lt;div id="outerHeight-test001-result-navi-left"&gt;&lt;/div&gt;&lt;div id="outerHeight-test001-result-navi-right"&gt;&lt;/div&gt;&lt;/div&gt;&lt;div id="outerHeight-test001-result-main"&gt;&lt;/div&gt;&lt;/div&gt;&lt;div id="outerHeight-test001-clear-bottom"&gt;&lt;/div&gt;&lt;script&gt;//&lt;![CDATA[&lt;!--(function(){var L="position",m="color",n="number",v="display",q="button",w="body",D="html",M="alpha(opacity=";try{(function(a,E,g,u,N,d,ad,O,ae,x,P,l){var r=d.getElementById("outerHeight-test001"),s=d.getElementById("outerHeight-test001-measure"),af=d.getElementById("outerHeight-test001-margin-top"),ag=d.getElementById("outerHeight-test001-border-top"),ah=d.getElementById("outerHeight-test001-padding-top"),ai=d.getElementById("outerHeight-test001-contents"),aj=d.getElementById("outerHeight-test001-padding-bottom"),ak=d.getElementById("outerHeight-test001-border-bottom"),al=d.getElementById("outerHeight-test001-margin-bottom"),o=d.getElementById("outerHeight-test001-result"),am=d.getElementById("outerHeight-test001-result-navi"),p=d.getElementById("outerHeight-test001-result-navi-left"),W=d.getElementById("outerHeight-test001-result-navi-right"),h=d.getElementById("outerHeight-test001-result-main"),X=d.getElementById("outerHeight-test001-clear-top"),Y=d.getElementById("outerHeight-test001-clear-bottom"),t=!1,Q=function(c,b){a(c).css("filter",M+(b*100)+")").css("-ms-filter",M+(b*100)+")").css("opacity",b)},y=function(){return g.max(a(D).scrollTop(),a(w).scrollTop())},z,A,Z=function(){var c,e,b,f=!1;b=d.createElement("div");a(b).addClass(q).text("scroll:");a(p).append(b);c=d.createElement(q);a(c).click(function(){a(l).scrollTop(y()-2)}).text("-2").css("margin","0 8px 0 3px").css("float","left");a(p).append(c);e=d.createElement(q);a(e).click(function(){a(l).scrollTop(y()+2)}).text("+2").css("margin","0 16px 0 0").css("float","left");a(p).append(e);b=d.createElement("div");a(b).addClass(q).html("count:").css("padding-right","3px");a(p).append(b);z=d.createElement("div");a(z).addClass(q);a(p).append(z);A=d.createElement(q);a(A).click(function(){if(t){Q(o,1);t=!1;a(this).html("×");a(h).css(v,"block");a(p).css(v,"block");if(f){B()}}else{Q(o,.138);t=!0;a(this).html("□");a(h).css(v,"none");a(p).css(v,"none")}});t=!0;a(A).click();a(W).append(A);f=!0},R,$=function(){R=57},F=function(b){a(o).css("top",(R+b)+"px").css("right","16px")},G=function(){return O.browser.msie&amp;&amp;x(O.browser.version,10)==6}(),H=!1,S=function(){return H||t},T=function(e){var d=function(c){var a,b;for(a=0;a&lt;c.childNodes.length;a++){b=c.childNodes[a];if(b.nodeName=="#text"&amp;&amp;typeof b.nodeValue=="string"){if(b.nodeValue.match(/^[\x00-\x20\u3000]*$/)){c.removeChild(b);a--}}else{d(c.childNodes[a])}}};d(e)},_=2,aa=1,ab=function(e,d,f,c){var b="";switch(typeof d){case n:b=u(x(d,10));if(b.length&lt;f){b=(E(f+1).join(" ")+b).slice(-f).replace(/ /g,"&amp;nbsp;")}if(c&gt;0){c=g.max(c,aa);b+=u(d).replace(/^(?:[0-9]+)(?:\.([0-9]+))?$/,function(){var a="";if(typeof arguments[1]==="string"&amp;&amp;arguments[1]!=""){a=arguments[1];if(a.length&lt;c){a+=E(c-a.length+1).join("0")}}else{a=E(c+1).join("0")}return"."+a})}break;case"boolean":if(d){a(e).css(m,"#53868B");b="true"}else{a(e).css(m,"#CD5555");b="false"}break;default:a(e).css(m,"#8b6969");b='"'+u(d).replace(/\"/g,'\\"')+'"'}return b},B,ac=function(){var b,E,f,e,o,L,M,N,p,O,i,v,P,I,q,J,K,j,Q=0,A=g.pow(10,_),k=d.createElement("span"),C=a(k).clone(),R=a(k).clone(),T=a(k).clone(),U=a(k).clone(),t=a(k).clone(),V=d.createElement("br"),c=[["border,margin,paddingの有無"],["A","$(contents).height()",function(){M=a(s).height();return M}],["B","$(contents).innerHeight()",function(){N=a(s).innerHeight();return N}],["C","$(contents).outerHeight()",function(){p=a(s).outerHeight();return p}],["D","$(contents).outerHeight(true)",function(){O=a(s).outerHeight(!0);return O}],["E","$(contents).offset().top",function(){i=a(s).offset().top;return i}],["F","$(outer).offset().top",function(){v=a(r).offset().top;return v}],["G","$(contents).position().top",function(){P=a(s).position().top;return P}],["H","$(outer).position().top",function(){I=a(r).position().top;return I}],["I","$(window).height()",function(){q=a(l).height();return q}],["J",'$("html").scrollTop()',function(){J=a(D).scrollTop();return J}],["K",'$("body").scrollTop()',function(){K=a(w).scrollTop();return K}],["L","Math.max(J, K)",function(){j=g.max(J,K);return j}],["offset,positionの違い"],["(E - F)","offset()はmarginを含まない",function(){return(i-v)}],["(F - H)","絶対位置と相対位置の差",function(){return(v-I)}],["全部見える(margin含まずborderから)"],["(E &gt;= L)","",function(){return(i&gt;=j)}],["((C + E) &lt;= (I + L))","",function(){return((p+i)&lt;=(q+j))}],["RESULT1","",function(){return((i&gt;=j)&amp;&amp;((p+i)&lt;=(q+j)))?"全部見える":"一部欠けている"}],["ちょっと見える(margin含まずborderから)"],["((C + E) &gt; L)","",function(){return((p+i)&gt;j)}],["(E &lt; (I + L))","",function(){return(i&lt;(q+j))}],["RESULT2","",function(){return(((p+i)&gt;j)&amp;&amp;(i&lt;(q+j)))?"一部見える":"1pxも見えない"}]];a(h).text("");a(k).html("//&amp;nbsp;");a(R).text("=");a(T).text("?");a(U).text(";");a(t).html("&amp;nbsp;");a(k).css(m,"#8b1a1a");a(C).css(m,"#8b6508");f=[];e=0;for(b=0;b&lt;c.length;b++){if(typeof f[e]!==n){f[e]=0}if(c[b].length==1){e=f.length}else{c[b][3]=a(T).clone();f[e]=g.max(f[e],c[b][0].length);c[b][4]=e}}L=function(){return a(C).clone().append(a(C).clone().html(arguments[1])).html()};for(b=0;b&lt;c.length;b++){if(c[b].length==1){if(b!==0){a(h).append(a(V).clone())}a(h).append(a(k).clone().append(c[b][0]))}else{a(h).append(a(C).clone().html(c[b][0].replace(/([A-Za-z0-9_]+)/g,L)).css(m,a(h).css(m)));for(E=0;E&lt;(f[c[b][4]]-c[b][0].length);E++){a(h).append(a(t).clone())}a(h).append(a(t).clone()).append(a(R).clone()).append(a(t).clone()).append(c[b][3]).append(a(U).clone());if(c[b][1]!=""){a(h).append(a(t).clone()).append(a(k).clone().append(c[b][1]))}}a(h).append(a(V).clone())}B=function(){var d,h;if(S()){return}H=!0;if(G){F(y())}Q++;a(z).text(Q);f=[];e=0;o=[];for(b=0;b&lt;c.length;b++){if(typeof f[e]!==n){f[e]=0}if(typeof o[e]!==n){o[e]=0}if(c[b].length==1){e=f.length}else{c[b][5]=c[b][2]();if(typeof c[b][5]===n){c[b][5]=g.round(c[b][5]*A)/A;d=u(x(c[b][5],10)).length;h=u(x(c[b][5]*A%A,10)).replace(/0+$/,"").length;if(typeof c[b][7]!==n){c[b][7]=0}if(typeof c[b][8]!==n){c[b][8]=0}o[e]=c[b][7]=g.max(o[e],h,c[b][7]);f[e]=c[b][8]=g.max(f[e],d,c[b][8]);c[b][6]=e}else{c[b][6]=0;c[b][7]=0}}}for(b=0;b&lt;c.length;b++){if(c[b].length!=1){a(c[b][3]).html(ab(c[b][3],c[b][5],f[c[b][6]],o[c[b][6]]))}}H=!1}},C,U=function(){if(S()){if(G&amp;&amp;t){N(C);C=P(function(){F(y())},200)}return}N(C);C=P(B,200)},V=function(){a(X).css("height",g.max(1,a(l).height()-a(r).offset().top)+1);a(Y).css("height",g.max(1,-g.max(a(D).outerHeight(!0),a(w).outerHeight(!0))+(a(r).offset().top+a(r).outerHeight(!0))+a(l).height()+1))};a(l).load(function(){T(r);V();a(o).css(L,"fixed");if(G){a(o).css(L,"absolute")}$();a(w).append(o);F(0);Z();ac();T(o);B();a(l).scroll(U).resize(U);a(l).resize(function(){V()})})})($,Array,Math,String,clearTimeout,document,isNaN,jQuery,parseFloat,parseInt,setTimeout,window)}catch(a){document.write("&lt;"+"pre&gt;Error: "+a+"&lt;"+"/pre&gt;")}})()//--&gt;]]&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6143936844695013686-1353475994417754728?l=insnvlovn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://insnvlovn.blogspot.com/feeds/1353475994417754728/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6143936844695013686&amp;postID=1353475994417754728' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/1353475994417754728'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/1353475994417754728'/><link rel='alternate' type='text/html' href='http://insnvlovn.blogspot.com/2011/10/jqueryheight.html' title='jqueryのheight関連に関する説明'/><author><name>insn</name><uri>http://www.blogger.com/profile/05196582005861324185</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6143936844695013686.post-5593611649519709613</id><published>2011-10-22T11:35:00.025+09:00</published><updated>2011-10-22T15:04:38.949+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><title type='text'>jquery UIのanimateのサンプル</title><content type='html'>参考URL。&lt;br /&gt;&lt;a href="http://jqueryui.com/demos/animate/"&gt;http://jqueryui.com/demos/animate/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://allabout.co.jp/gm/gc/24066/"&gt;http://allabout.co.jp/gm/gc/24066/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.tohoho-web.com/html/index.htm"&gt;http://www.tohoho-web.com/html/index.htm&lt;/a&gt;&lt;br /&gt;&lt;a href="http://openlab.ring.gr.jp/k16/htmllint/index.html"&gt;http://openlab.ring.gr.jp/k16/htmllint/index.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://oshiete.goo.ne.jp/qa/4147301.html"&gt;http://oshiete.goo.ne.jp/qa/4147301.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;カラーを変更するサンプルです。&lt;br /&gt;jquery UIを使用しています。&lt;br /&gt;スタートボタンをクリックすると開始します。&lt;br /&gt;&lt;br /&gt;&lt;button id="colorTest001" style='background-color:buttonface;border:1px solid #676767;color:#181818;cursor:wait;display:block;font-family:"ＭＳ ゴシック","Osaka-mono",monospace;font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;height:50px;letter-spacing:1px;line-height:48px;margin:8px auto;padding:0;text-align:center;text-decoration:none;text-indent:0;text-transform:none;vertical-align:baseline;white-space:nowrap;width:101px;word-spacing:0;word-wrap:normal;'&gt;スタート&lt;/button&gt;&lt;script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.min.js"&gt;&lt;/script&gt;&lt;script&gt;//&lt;![CDATA[&lt;!--$(document).ready(function(){try{(function(){varmaxEventCount = 50,buttonElem = document.getElementById("colorTest001"),parentElem = $(buttonElem).parent().get(0),prepareFlag = true,eventCount = 0,getRandTime = function(msec){return Math.round(Math.random() * msec) + 800;},addClickEvent = function(elem){var backgroundColorTmp = $(elem).parent().css("background-color"),colorTmp = $(elem).parent().css("color"),red = Math.floor(Math.random() * 256),green = Math.floor(Math.random() * 256),blue = Math.floor(Math.random() * 256),colorRed = 0, colorGreen = 0, colorBlue = 0,runtimeFlag = false;if (typeof backgroundColorTmp === "undefined" || backgroundColorTmp == ""){backgroundColorTmp = "transparent";}if (typeof colorTmp === "undefined" || colorTmp == ""){colorTmp = "#000000";}if ((red + green + blue) &lt; 382.5){colorRed = colorGreen = colorBlue = 255;}$(buttonElem).click(function(){if (prepareFlag || runtimeFlag === true){return;}runtimeFlag = true;setTimeout(function(){$(elem).animate({"background-color": "rgb(" + red + "," + green + "," + blue + ")","color": "rgb(" + colorRed + "," + colorGreen + "," + colorBlue + ")"},{"duration": getRandTime(8000),"complete": function(){setTimeout(function(){$(elem).animate({"background-color": backgroundColorTmp,"color": colorTmp},{"duration": getRandTime(8000),"complete": function(){runtimeFlag = false;}});}, getRandTime(8000));}});}, getRandTime(3800));});},noReplaceNodeNameList = ["#cdata-section","#comment","#document","#document-fragment","applet", "audio","button","canvas", "command","details","fieldset", "figcaption", "figure", "form","iframe", "ilayer","layer", "legend","map","noembed", "noframes", "nolayer", "noscript","object", "output","progress","rb", "rp", "rt", "ruby","source", "summary","var", "video","area","base", "basefont", "bgsound", "br","col", "colgroup", "comment","datalist","embed","frame", "frameset","head", "hr","img", "input", "isindex","keygen","link", "listing","meta","nextid","optgroup", "option","param", "plaintext","script", "select", "server", "spacer", "style","textarea", "title", "track","wbr","xmp"],checkIgnoreNode = function(name){var ret = false, tag;if (typeof name === "string"){tag = name.toLowerCase();if ($.inArray(tag, noReplaceNodeNameList) &lt; 0){ret = true;}}return ret;},setInheritCss = function(elem){$(elem).css("background-color", $(elem).parent().css("background-color")).css("color", $(elem).parent().css("color")).css("cursor", $(elem).parent().css("cursor")).css("font-family", $(elem).parent().css("font-family")).css("font-size", $(elem).parent().css("font-size")).css("font-style", $(elem).parent().css("font-style")).css("font-variant", $(elem).parent().css("font-variant")).css("font-weight", $(elem).parent().css("font-weight")).css("letter-spacing", $(elem).parent().css("letter-spacing")).css("line-height", $(elem).parent().css("line-height")).css("margin", "0").css("padding", "0").css("text-decoration", $(elem).parent().css("text-decoration")).css("text-indent", $(elem).parent().css("text-indent")).css("text-transform", $(elem).parent().css("text-transform")).css("white-space", $(elem).parent().css("white-space")).css("word-spacing", $(elem).parent().css("word-spacing")).css("word-wrap", $(elem).parent().css("word-wrap"));},textSearch = function(currentNode){var i, x, childNode, wordList, newNode, beforeNode;for (i = 0; i &lt; currentNode.childNodes.length; i++){if (eventCount &gt;= maxEventCount){return;}childNode = currentNode.childNodes[i];if (childNode.nodeName == "#text" &amp;&amp; typeof childNode.nodeValue == "string"){wordList = [];childNode.nodeValue.replace(/([\x00-\x20\u3000]*)([^\x00-\x20\u3000]+)([\x00-\x20\u3000]*)/g, function(){var data, x;for (x = 1; x &lt;= 3; x++){data = null;if (x == 1 || x == 3){if (typeof arguments[x] == "string" &amp;&amp; arguments[x].length &gt; 0){data = {"type": "space", "value": arguments[x]};}}else{data = {"type": "word", "value": arguments[x]};}if (data !== null){wordList.push(data);}}});beforeNode = childNode;for (x = 0; x &lt; wordList.length; x++){if (wordList[x].type == "space" || eventCount &gt;= maxEventCount){newNode = document.createTextNode(wordList[x].value);$(beforeNode).after(newNode);}else{newNode = document.createElement("span");$(beforeNode).after(newNode);$(newNode).text(wordList[x].value);setInheritCss(newNode);addClickEvent(newNode);eventCount++;}beforeNode = newNode;i++;}currentNode.removeChild(childNode);i--;}else{if (checkIgnoreNode(childNode.nodeName)){textSearch(currentNode.childNodes[i]);}}}};textSearch(parentElem);prepareFlag = false;$(buttonElem).css("cursor", "pointer");})();}catch(e){}});//--&gt;]]&gt;&lt;/script&gt;&lt;br /&gt;ソース。&lt;br /&gt;&lt;pre&gt;&amp;lt;button id=&amp;quot;colorTest001&amp;quot; style='background-color:buttonface;border:1px solid #676767;color:#181818;cursor:wait;display:block;font-family:&amp;quot;ＭＳ ゴシック&amp;quot;,&amp;quot;Osaka-mono&amp;quot;,monospace;font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;height:50px;letter-spacing:1px;line-height:48px;margin:8px auto;padding:0;text-align:center;text-decoration:none;text-indent:0;text-transform:none;vertical-align:baseline;white-space:nowrap;width:101px;word-spacing:0;word-wrap:normal;'&amp;gt;スタート&amp;lt;/button&amp;gt;&lt;br /&gt;&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&amp;lt;script&amp;gt;&lt;br /&gt;//&amp;lt;![CDATA[&amp;lt;!--&lt;br /&gt;$(document).ready(function(){try{(function(){&lt;br /&gt;    var&lt;br /&gt;    maxEventCount = 50,&lt;br /&gt;    buttonElem = document.getElementById(&amp;quot;colorTest001&amp;quot;),&lt;br /&gt;    parentElem = $(buttonElem).parent().get(0),&lt;br /&gt;    prepareFlag = true,&lt;br /&gt;    eventCount = 0,&lt;br /&gt;    getRandTime = function(msec){&lt;br /&gt;        return Math.round(Math.random() * msec) + 800;&lt;br /&gt;    },&lt;br /&gt;    addClickEvent = function(elem){&lt;br /&gt;        var backgroundColorTmp = $(elem).parent().css(&amp;quot;background-color&amp;quot;),&lt;br /&gt;        colorTmp = $(elem).parent().css(&amp;quot;color&amp;quot;),&lt;br /&gt;        red = Math.floor(Math.random() * 256),&lt;br /&gt;        green = Math.floor(Math.random() * 256),&lt;br /&gt;        blue = Math.floor(Math.random() * 256),&lt;br /&gt;        colorRed = 0, colorGreen = 0, colorBlue = 0,&lt;br /&gt;        runtimeFlag = false;&lt;br /&gt;        if (typeof backgroundColorTmp === &amp;quot;undefined&amp;quot; || backgroundColorTmp == &amp;quot;&amp;quot;)&lt;br /&gt;        {&lt;br /&gt;            backgroundColorTmp = &amp;quot;transparent&amp;quot;;&lt;br /&gt;        }&lt;br /&gt;        if (typeof colorTmp === &amp;quot;undefined&amp;quot; || colorTmp == &amp;quot;&amp;quot;)&lt;br /&gt;        {&lt;br /&gt;            colorTmp = &amp;quot;#000000&amp;quot;;&lt;br /&gt;        }&lt;br /&gt;        if ((red + green + blue) &amp;lt; 382.5)&lt;br /&gt;        {&lt;br /&gt;            colorRed = colorGreen = colorBlue = 255;&lt;br /&gt;        }&lt;br /&gt;        $(buttonElem).click(function(){&lt;br /&gt;            if (prepareFlag || runtimeFlag === true)&lt;br /&gt;            {&lt;br /&gt;                return;&lt;br /&gt;            }&lt;br /&gt;            runtimeFlag = true;&lt;br /&gt;            setTimeout(function(){&lt;br /&gt;                $(elem).animate(&lt;br /&gt;                    {&amp;quot;background-color&amp;quot;: &amp;quot;rgb(&amp;quot; + red + &amp;quot;,&amp;quot; + green + &amp;quot;,&amp;quot; + blue + &amp;quot;)&amp;quot;,&lt;br /&gt;                     &amp;quot;color&amp;quot;: &amp;quot;rgb(&amp;quot; + colorRed + &amp;quot;,&amp;quot; + colorGreen + &amp;quot;,&amp;quot; + colorBlue + &amp;quot;)&amp;quot;},&lt;br /&gt;                    {&amp;quot;duration&amp;quot;: getRandTime(8000),&lt;br /&gt;                     &amp;quot;complete&amp;quot;: function(){&lt;br /&gt;                         setTimeout(function(){&lt;br /&gt;                             $(elem).animate({&amp;quot;background-color&amp;quot;: backgroundColorTmp,&lt;br /&gt;                                              &amp;quot;color&amp;quot;: colorTmp},&lt;br /&gt;                                             {&amp;quot;duration&amp;quot;: getRandTime(8000),&lt;br /&gt;                                              &amp;quot;complete&amp;quot;: function(){&lt;br /&gt;                                                  runtimeFlag = false;&lt;br /&gt;                                              }});&lt;br /&gt;                         }, getRandTime(8000));&lt;br /&gt;                     }});&lt;br /&gt;            }, getRandTime(3800));&lt;br /&gt;        });&lt;br /&gt;    },&lt;br /&gt;    noReplaceNodeNameList = [&lt;br /&gt;        &amp;quot;#cdata-section&amp;quot;,&lt;br /&gt;        &amp;quot;#comment&amp;quot;,&lt;br /&gt;        &amp;quot;#document&amp;quot;,&lt;br /&gt;        &amp;quot;#document-fragment&amp;quot;,&lt;br /&gt;        &amp;quot;applet&amp;quot;, &amp;quot;audio&amp;quot;,&lt;br /&gt;        &amp;quot;button&amp;quot;,&lt;br /&gt;        &amp;quot;canvas&amp;quot;, &amp;quot;command&amp;quot;,&lt;br /&gt;        &amp;quot;details&amp;quot;,&lt;br /&gt;        &amp;quot;fieldset&amp;quot;, &amp;quot;figcaption&amp;quot;, &amp;quot;figure&amp;quot;, &amp;quot;form&amp;quot;,&lt;br /&gt;        &amp;quot;iframe&amp;quot;, &amp;quot;ilayer&amp;quot;,&lt;br /&gt;        &amp;quot;layer&amp;quot;, &amp;quot;legend&amp;quot;,&lt;br /&gt;        &amp;quot;map&amp;quot;,&lt;br /&gt;        &amp;quot;noembed&amp;quot;, &amp;quot;noframes&amp;quot;, &amp;quot;nolayer&amp;quot;, &amp;quot;noscript&amp;quot;,&lt;br /&gt;        &amp;quot;object&amp;quot;, &amp;quot;output&amp;quot;,&lt;br /&gt;        &amp;quot;progress&amp;quot;,&lt;br /&gt;        &amp;quot;rb&amp;quot;, &amp;quot;rp&amp;quot;, &amp;quot;rt&amp;quot;, &amp;quot;ruby&amp;quot;,&lt;br /&gt;        &amp;quot;source&amp;quot;, &amp;quot;summary&amp;quot;,&lt;br /&gt;        &amp;quot;var&amp;quot;, &amp;quot;video&amp;quot;,&lt;br /&gt;        &amp;quot;area&amp;quot;,&lt;br /&gt;        &amp;quot;base&amp;quot;, &amp;quot;basefont&amp;quot;, &amp;quot;bgsound&amp;quot;, &amp;quot;br&amp;quot;,&lt;br /&gt;        &amp;quot;col&amp;quot;, &amp;quot;colgroup&amp;quot;, &amp;quot;comment&amp;quot;,&lt;br /&gt;        &amp;quot;datalist&amp;quot;,&lt;br /&gt;        &amp;quot;embed&amp;quot;,&lt;br /&gt;        &amp;quot;frame&amp;quot;, &amp;quot;frameset&amp;quot;,&lt;br /&gt;        &amp;quot;head&amp;quot;, &amp;quot;hr&amp;quot;,&lt;br /&gt;        &amp;quot;img&amp;quot;, &amp;quot;input&amp;quot;, &amp;quot;isindex&amp;quot;,&lt;br /&gt;        &amp;quot;keygen&amp;quot;,&lt;br /&gt;        &amp;quot;link&amp;quot;, &amp;quot;listing&amp;quot;,&lt;br /&gt;        &amp;quot;meta&amp;quot;,&lt;br /&gt;        &amp;quot;nextid&amp;quot;,&lt;br /&gt;        &amp;quot;optgroup&amp;quot;, &amp;quot;option&amp;quot;,&lt;br /&gt;        &amp;quot;param&amp;quot;, &amp;quot;plaintext&amp;quot;,&lt;br /&gt;        &amp;quot;script&amp;quot;, &amp;quot;select&amp;quot;, &amp;quot;server&amp;quot;, &amp;quot;spacer&amp;quot;, &amp;quot;style&amp;quot;,&lt;br /&gt;        &amp;quot;textarea&amp;quot;, &amp;quot;title&amp;quot;, &amp;quot;track&amp;quot;,&lt;br /&gt;        &amp;quot;wbr&amp;quot;,&lt;br /&gt;        &amp;quot;xmp&amp;quot;&lt;br /&gt;    ],&lt;br /&gt;    checkIgnoreNode = function(name){&lt;br /&gt;        var ret = false, tag;&lt;br /&gt;        if (typeof name === &amp;quot;string&amp;quot;)&lt;br /&gt;        {&lt;br /&gt;            tag = name.toLowerCase();&lt;br /&gt;            if ($.inArray(tag, noReplaceNodeNameList) &amp;lt; 0)&lt;br /&gt;            {&lt;br /&gt;                ret = true;&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;        return ret;&lt;br /&gt;    },&lt;br /&gt;    setInheritCss = function(elem){&lt;br /&gt;        $(elem)&lt;br /&gt;            .css(&amp;quot;background-color&amp;quot;, $(elem).parent().css(&amp;quot;background-color&amp;quot;))&lt;br /&gt;            .css(&amp;quot;color&amp;quot;, $(elem).parent().css(&amp;quot;color&amp;quot;))&lt;br /&gt;            .css(&amp;quot;cursor&amp;quot;, $(elem).parent().css(&amp;quot;cursor&amp;quot;))&lt;br /&gt;            .css(&amp;quot;font-family&amp;quot;, $(elem).parent().css(&amp;quot;font-family&amp;quot;))&lt;br /&gt;            .css(&amp;quot;font-size&amp;quot;, $(elem).parent().css(&amp;quot;font-size&amp;quot;))&lt;br /&gt;            .css(&amp;quot;font-style&amp;quot;, $(elem).parent().css(&amp;quot;font-style&amp;quot;))&lt;br /&gt;            .css(&amp;quot;font-variant&amp;quot;, $(elem).parent().css(&amp;quot;font-variant&amp;quot;))&lt;br /&gt;            .css(&amp;quot;font-weight&amp;quot;, $(elem).parent().css(&amp;quot;font-weight&amp;quot;))&lt;br /&gt;            .css(&amp;quot;letter-spacing&amp;quot;, $(elem).parent().css(&amp;quot;letter-spacing&amp;quot;))&lt;br /&gt;            .css(&amp;quot;line-height&amp;quot;, $(elem).parent().css(&amp;quot;line-height&amp;quot;))&lt;br /&gt;            .css(&amp;quot;margin&amp;quot;, &amp;quot;0&amp;quot;)&lt;br /&gt;            .css(&amp;quot;padding&amp;quot;, &amp;quot;0&amp;quot;)&lt;br /&gt;            .css(&amp;quot;text-decoration&amp;quot;, $(elem).parent().css(&amp;quot;text-decoration&amp;quot;))&lt;br /&gt;            .css(&amp;quot;text-indent&amp;quot;, $(elem).parent().css(&amp;quot;text-indent&amp;quot;))&lt;br /&gt;            .css(&amp;quot;text-transform&amp;quot;, $(elem).parent().css(&amp;quot;text-transform&amp;quot;))&lt;br /&gt;            .css(&amp;quot;white-space&amp;quot;, $(elem).parent().css(&amp;quot;white-space&amp;quot;))&lt;br /&gt;            .css(&amp;quot;word-spacing&amp;quot;, $(elem).parent().css(&amp;quot;word-spacing&amp;quot;))&lt;br /&gt;            .css(&amp;quot;word-wrap&amp;quot;, $(elem).parent().css(&amp;quot;word-wrap&amp;quot;))&lt;br /&gt;        ;&lt;br /&gt;    },&lt;br /&gt;    textSearch = function(currentNode){&lt;br /&gt;        var i, x, childNode, wordList, newNode, beforeNode;&lt;br /&gt;        for (i = 0; i &amp;lt; currentNode.childNodes.length; i++)&lt;br /&gt;        {&lt;br /&gt;            if (eventCount &amp;gt;= maxEventCount)&lt;br /&gt;            {&lt;br /&gt;                return;&lt;br /&gt;            }&lt;br /&gt;            childNode = currentNode.childNodes[i];&lt;br /&gt;            if (childNode.nodeName == &amp;quot;#text&amp;quot; &amp;amp;&amp;amp; typeof childNode.nodeValue == &amp;quot;string&amp;quot;)&lt;br /&gt;            {&lt;br /&gt;                wordList = [];&lt;br /&gt;                childNode.nodeValue.replace(/([\x00-\x20\u3000]*)([^\x00-\x20\u3000]+)([\x00-\x20\u3000]*)/g, function(){&lt;br /&gt;                    var data, x;&lt;br /&gt;                    for (x = 1; x &amp;lt;= 3; x++)&lt;br /&gt;                    {&lt;br /&gt;                        data = null;&lt;br /&gt;                        if (x == 1 || x == 3)&lt;br /&gt;                        {&lt;br /&gt;                            if (typeof arguments[x] == &amp;quot;string&amp;quot; &amp;amp;&amp;amp; arguments[x].length &amp;gt; 0)&lt;br /&gt;                            {&lt;br /&gt;                                data = {&amp;quot;type&amp;quot;: &amp;quot;space&amp;quot;, &amp;quot;value&amp;quot;: arguments[x]};&lt;br /&gt;                            }&lt;br /&gt;                        }&lt;br /&gt;                        else&lt;br /&gt;                        {&lt;br /&gt;                            data = {&amp;quot;type&amp;quot;: &amp;quot;word&amp;quot;, &amp;quot;value&amp;quot;: arguments[x]};&lt;br /&gt;                        }&lt;br /&gt;                        if (data !== null)&lt;br /&gt;                        {&lt;br /&gt;                            wordList.push(data);&lt;br /&gt;                        }&lt;br /&gt;                    }&lt;br /&gt;                });&lt;br /&gt;                beforeNode = childNode;&lt;br /&gt;                for (x = 0; x &amp;lt; wordList.length; x++)&lt;br /&gt;                {&lt;br /&gt;                    if (wordList[x].type == &amp;quot;space&amp;quot; || eventCount &amp;gt;= maxEventCount)&lt;br /&gt;                    {&lt;br /&gt;                        newNode = document.createTextNode(wordList[x].value);&lt;br /&gt;                        $(beforeNode).after(newNode);&lt;br /&gt;                    }&lt;br /&gt;                    else&lt;br /&gt;                    {&lt;br /&gt;                        newNode = document.createElement(&amp;quot;span&amp;quot;);&lt;br /&gt;                        $(beforeNode).after(newNode);&lt;br /&gt;                        $(newNode).text(wordList[x].value);&lt;br /&gt;                        setInheritCss(newNode);&lt;br /&gt;                        addClickEvent(newNode);&lt;br /&gt;                        eventCount++;&lt;br /&gt;                    }&lt;br /&gt;                    beforeNode = newNode;&lt;br /&gt;                    i++;&lt;br /&gt;                }&lt;br /&gt;                currentNode.removeChild(childNode);&lt;br /&gt;                i--;&lt;br /&gt;            }&lt;br /&gt;            else&lt;br /&gt;            {&lt;br /&gt;                if (checkIgnoreNode(childNode.nodeName))&lt;br /&gt;                {&lt;br /&gt;                    textSearch(currentNode.childNodes[i]);&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;    };&lt;br /&gt;    textSearch(parentElem);&lt;br /&gt;    prepareFlag = false;&lt;br /&gt;    $(buttonElem).css(&amp;quot;cursor&amp;quot;, &amp;quot;pointer&amp;quot;);&lt;br /&gt;})();}catch(e){}});&lt;br /&gt;//--&amp;gt;]]&amp;gt;&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6143936844695013686-5593611649519709613?l=insnvlovn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://insnvlovn.blogspot.com/feeds/5593611649519709613/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6143936844695013686&amp;postID=5593611649519709613' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/5593611649519709613'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/5593611649519709613'/><link rel='alternate' type='text/html' href='http://insnvlovn.blogspot.com/2011/10/jquery-uianimate.html' title='jquery UIのanimateのサンプル'/><author><name>insn</name><uri>http://www.blogger.com/profile/05196582005861324185</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6143936844695013686.post-703887037102053597</id><published>2011-10-22T08:31:00.001+09:00</published><updated>2011-10-22T08:32:19.437+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='perl'/><title type='text'>perlのコマンドでhtmllintの設定ファイルを読んで文字列を取り出す</title><content type='html'>メモ: perlのコマンドでhtmllintの設定ファイルを読んで文字列を取り出す。&lt;br /&gt;&lt;pre&gt;$ perl -e '$res="";opendir(DIR,".")or die("can not open DIR");@file=sort{$b cmp $a}readdir(DIR);closedir(DIR);foreach$key(@file){if($key=~m/(html40|xhtml).*\.rul$/){require $key;$res.="|".$emptyTags;}}$res=~s/\|/\n/g;print $res;' | sort | uniq&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6143936844695013686-703887037102053597?l=insnvlovn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://insnvlovn.blogspot.com/feeds/703887037102053597/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6143936844695013686&amp;postID=703887037102053597' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/703887037102053597'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/703887037102053597'/><link rel='alternate' type='text/html' href='http://insnvlovn.blogspot.com/2011/10/perlhtmllint.html' title='perlのコマンドでhtmllintの設定ファイルを読んで文字列を取り出す'/><author><name>insn</name><uri>http://www.blogger.com/profile/05196582005861324185</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6143936844695013686.post-8241817505260078197</id><published>2011-10-21T07:00:00.020+09:00</published><updated>2011-10-21T13:00:14.122+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><title type='text'>javascriptのanimate</title><content type='html'>参考URL。&lt;br /&gt;&lt;a href="http://jquery.com/"&gt;http://jquery.com/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://plugins.jquery.com/project/color"&gt;http://plugins.jquery.com/project/color&lt;/a&gt;&lt;br /&gt;&lt;a href="http://semooh.jp/jquery/api/effects/animate/params,+%5Bduration%5D,+%5Beasing%5D,+%5Bcallback%5D/"&gt;http://semooh.jp/jquery/api/effects/animate/params,+%5Bduration%5D,+%5Beasing%5D,+%5Bcallback%5D/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;アニメーションのサンプルです。&lt;br /&gt;クリックするとスタートします。&lt;br /&gt;もう一度クリックするとストップします。&lt;br /&gt;色を変化させるには追加のプラグインが必要です。もしくは手動です。&lt;br /&gt;たまにブラウザ(firefox7で確認)によっては落ちます。ご注意下さい。&lt;br /&gt;&lt;br /&gt;&lt;style type="text/css"&gt;&lt;!-- #wordTestTwitch002, #wordTestTwitch002 *, #wordTestTwitch002Result { border: 0px solid #676767; border-width: 0px; color: #181818; font-family: "ＭＳ ゴシック","Osaka-mono",monospace; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: 0px; line-height: 17px; margin: 0px; padding: 0px; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; vertical-align: baseline; white-space: normal; word-spacing: 0px; word-wrap: normal; } #wordTestTwitch002, #wordTestTwitch002 * { -khtml-user-select: none; -moz-user-select: none; user-select: none; } #wordTestTwitch002 { background-color: #FFFFFF; border-width: 1px; cursor: pointer; height: 136px; overflow: hidden; padding: 100px 150px; position: absolute; vertical-align: middle; white-space: nowrap; width: 80px; z-index: 2; } #wordTestTwitch002Result { background-color: #FFFFFF; border-width: 1px; height: 8em; margin: 352px 0 0 0; overflow: auto; padding: 8px 0 8px 8px; width: auto; } --&gt;&lt;/style&gt;&lt;div id="wordTestTwitch002"&gt;ⅠⅡⅢⅣⅤ&lt;br /&gt;ⅥⅦⅧⅨⅩ&lt;br /&gt;①②③④⑤&lt;br /&gt;⑥⑦⑧⑨⑩&lt;br /&gt;⑪⑫⑬⑭⑮&lt;br /&gt;⑯⑰⑱⑲⑳&lt;br /&gt;０１２３４&lt;br /&gt;５６７８９&lt;br /&gt;&lt;/div&gt;&lt;div style="clear:both; display:block; font-size: 1px; height: 1px; line-height: 1px;"&gt;&lt;/div&gt;&lt;div id="wordTestTwitch002Result"&gt;&lt;/div&gt;&lt;script type="text/javascript"&gt;//&lt;![CDATA[&lt;!--try{(function(){var divElem = document.getElementById("wordTestTwitch002"),resultElem = document.getElementById("wordTestTwitch002Result"),divElemOuterWidth = $(divElem).outerWidth(),divElemOuterHeight = $(divElem).outerHeight(),orderCount = 0,processCount = 0,loopCount = 8,maxFontSize = Math.min($(divElem).width(), $(divElem).height()) / 2,accelDiameter = 50,animateDuration = 500,loopSleep = 1000,animateWait = 50,startTime = null,checkStop = function(){processCount--;if (processCount &lt;= 0){$(divElem).unbind("click").css("cursor", "default");}},wordTestTwitch002FuncTimeOverList = [],resultElemScrollCount = 0,resultElemScroll = function(){resultElemScrollCount++;},resultElemScrollProcess = function(){var i;if (resultElemScrollCount == -100){$(resultElem).animate({scrollTop:0},{"duration": 8000,"complete": function(){$(resultElem).css("background-color", "#BCDEFF");$(divElem).css("background-color", "#BCDEFF");}});}else if (resultElemScrollCount &lt;= 0){if (processCount &lt;= 0){for (i = 0; i &lt; wordTestTwitch002FuncTimeOverList.length; i++){$(resultElem).append("移動回数オーバー: " + wordTestTwitch002FuncTimeOverList[i] + "&lt;" + "br/&gt;");}$(resultElem).animate({scrollTop:65535},"fast");resultElemScrollCount = -100;setTimeout(resultElemScrollProcess, 2000);}else{setTimeout(resultElemScrollProcess, 2000);}}else{resultElemScrollCount--;$(resultElem).animate({scrollTop:65535},"fast");setTimeout(resultElemScrollProcess, 500);}},resultElemScrollProcessStart = function(){$(divElem).unbind("click", resultElemScrollProcessStart);resultElemScrollProcess();},randFunc = function(division){return ((Math.random() * 2) - 1) * division;};$(divElem).each(function(){$(this).html($(this).html().replace(/((?:&lt;[^&lt;&gt;]+&gt;)*)([^&lt;])((?:&lt;[^&lt;&gt;]+&gt;)*)/g, function(){if (arguments[2].match(/^[\x00-\x20]$/)){return arguments[1] + arguments[2] + arguments[3];}return arguments[1]+ "&lt;" + "span class='wordTestTwitch002Class'&gt;" + arguments[2] + "&lt;" + "/span&gt;"+ arguments[3];}));}).find(".wordTestTwitch002Class").each(function(){$(this).css("position", "relative").css("z-index", "1").bind("selectstart",function(){return false;}).mousedown(function(){return false;});var cnt = 0,elem = $(this),top = 0,left = 0,fontSize = parseFloat(elem.css("font-size")),stopFlag = false,animateFlag = false,setTransparent = function(){elem.css("color", "#FFFFFF").css("z-index", "0").css("filter", "alpha(opacity=0)").css("-ms-filter", "alpha(opacity=0)").css("opacity", "0");},elemRemove = function(){if (processCount &lt;= 0){elem.remove();}else{setTimeout(elemRemove, 8000);}},wordTestTwitch002FuncStop = function(){setTransparent();checkStop();if (processCount &lt;= 0){$(resultElem).append("ストップ&lt;" + "br/&gt;").css("background-color", "#FFEDCB");}elemRemove();},wordTestTwitch002FuncTimeOver = function(){setTransparent();wordTestTwitch002FuncTimeOverList.push(elem.text());checkStop();resultElemScroll();elemRemove();},wordTestTwitch002FuncArrival = function(){setTransparent();orderCount++;$(resultElem).append((" " + orderCount).slice(-2).replace(" ", "&amp;nbsp;") + "位: " + elem.text()+ " (font-size:"+ ("  " + Math.round(fontSize)).slice(-3).replace(" ", "&amp;nbsp;") + "px"+ " time:"+ String(((new Date().getTime()) - startTime) / 1000).replace(/^([0-9]+)(?:\.([0-9]+))?$/,function(){var ret = "", decimal = arguments[2];if (parseInt(arguments[1], 10) &gt;= 1000){ret += arguments[1];}else{ret += ("  " + arguments[1]).slice(-3).replace(" ", "&amp;nbsp;");}if (typeof decimal !== "string"){decimal = "";}return ret + "." + (decimal + "00").substr(0, 2);})+ "秒"+ ")&lt;" + "br/&gt;");checkStop();resultElemScroll();elemRemove();},wordTestTwitch002FuncExecute = function(){var accel, fontSizeOld,randSleep = function(){return Math.round(Math.random() * (animateDuration + loopSleep) / 0.25);};if (animateFlag === false){if (stopFlag){wordTestTwitch002FuncStop();return;}if (++cnt &gt; loopCount){wordTestTwitch002FuncTimeOver();return;}accel = Math.pow(accelDiameter * cnt / loopCount, 2) / accelDiameter;if (fontSize &lt; 5){accel *= (6 - fontSize);}else if ((maxFontSize - fontSize) &lt; 5){accel /= (6 - (maxFontSize - fontSize));}fontSizeOld = fontSize;fontSize += randFunc(1 + accel + ((maxFontSize &lt;= fontSize) ? (maxFontSize * 3) : 0));fontSize = Math.max(1, Math.min(maxFontSize, fontSize));top += randFunc(1 + accel) + ((fontSizeOld - fontSize) / 0.125);left += randFunc(1 + (accel * 8)) + ((fontSizeOld - fontSize) / 2);animateFlag = true;elem.animate({"top": Math.round(top) + "px","left": Math.round(left) + "px","font-size": Math.round(fontSize) + "px","line-height": Math.round(fontSize) + "px"},{"duration": animateDuration + randSleep(),"complete": function(){animateFlag = false;}});if ((divElemOuterWidth &lt; elem.position().left)|| (0 &gt; (elem.position().left + elem.outerWidth()))|| (divElemOuterHeight &lt; elem.position().top)|| (0 &gt; (elem.position().top + elem.outerHeight()))){wordTestTwitch002FuncArrival();return;}setTimeout(wordTestTwitch002FuncExecute, loopSleep + randSleep());}else{setTimeout(wordTestTwitch002FuncExecute, animateWait);}},startFunc = function(){$(divElem).unbind("click", startFunc);setTimeout(wordTestTwitch002FuncExecute, Math.round(Math.random() * 8000));$(divElem).click(stopFunc);if (startTime === null){startTime = new Date().getTime();}},stopFunc = function(){$(divElem).unbind("click", stopFunc);stopFlag = true;};$(divElem).click(startFunc);processCount++;});$(divElem).bind("selectstart",function(){return false;}).mousedown(function(){return false;}).click(resultElemScrollProcessStart);})();}catch(e){window.document.write("&lt;"+"pre&gt;Error: " + e + "&lt;"+"/pre&gt;");}//--&gt;]]&gt;&lt;/script&gt;&lt;br /&gt;ソース。&lt;br /&gt;&lt;pre&gt;&amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&lt;br /&gt;&amp;lt;!--&lt;br /&gt;#wordTestTwitch002, #wordTestTwitch002 *, #wordTestTwitch002Result {&lt;br /&gt;  border: 0px solid #676767;&lt;br /&gt;  border-width: 0px;&lt;br /&gt;  color: #181818;&lt;br /&gt;  font-family: &amp;quot;ＭＳ ゴシック&amp;quot;,&amp;quot;Osaka-mono&amp;quot;,monospace;&lt;br /&gt;  font-size: 16px;&lt;br /&gt;  font-style: normal;&lt;br /&gt;  font-variant: normal;&lt;br /&gt;  font-weight: normal;&lt;br /&gt;  letter-spacing: 0px;&lt;br /&gt;  line-height: 17px;&lt;br /&gt;  margin: 0px;&lt;br /&gt;  padding: 0px;&lt;br /&gt;  text-align: left;&lt;br /&gt;  text-decoration: none;&lt;br /&gt;  text-indent: 0px;&lt;br /&gt;  text-transform: none;&lt;br /&gt;  vertical-align: baseline;&lt;br /&gt;  white-space: normal;&lt;br /&gt;  word-spacing: 0px;&lt;br /&gt;  word-wrap: normal;&lt;br /&gt;}&lt;br /&gt;#wordTestTwitch002, #wordTestTwitch002 * {&lt;br /&gt;-khtml-user-select: none;&lt;br /&gt;-moz-user-select: none;&lt;br /&gt;user-select: none;&lt;br /&gt;}&lt;br /&gt;#wordTestTwitch002 {&lt;br /&gt;  background-color: #FFFFFF;&lt;br /&gt;  border-width: 1px;&lt;br /&gt;  cursor: pointer;&lt;br /&gt;  height: 136px;&lt;br /&gt;  overflow: hidden;&lt;br /&gt;  padding: 100px 150px;&lt;br /&gt;  position: absolute;&lt;br /&gt;  vertical-align: middle;&lt;br /&gt;  white-space: nowrap;&lt;br /&gt;  width: 80px;&lt;br /&gt;  z-index: 2;&lt;br /&gt;}&lt;br /&gt;#wordTestTwitch002Result {&lt;br /&gt;  background-color: #FFFFFF;&lt;br /&gt;  border-width: 1px;&lt;br /&gt;  height: 8em;&lt;br /&gt;  margin: 352px 0 0 0;&lt;br /&gt;  overflow: auto;&lt;br /&gt;  padding: 8px 0 8px 8px;&lt;br /&gt;  width: auto;&lt;br /&gt;}&lt;br /&gt;--&amp;gt;&lt;br /&gt;&amp;lt;/style&amp;gt;&lt;br /&gt;&amp;lt;div id=&amp;quot;wordTestTwitch002&amp;quot;&amp;gt;&lt;br /&gt;ⅠⅡⅢⅣⅤ&amp;lt;br/&amp;gt;&lt;br /&gt;ⅥⅦⅧⅨⅩ&amp;lt;br/&amp;gt;&lt;br /&gt;①②③④⑤&amp;lt;br/&amp;gt;&lt;br /&gt;⑥⑦⑧⑨⑩&amp;lt;br/&amp;gt;&lt;br /&gt;⑪⑫⑬⑭⑮&amp;lt;br/&amp;gt;&lt;br /&gt;⑯⑰⑱⑲⑳&amp;lt;br/&amp;gt;&lt;br /&gt;０１２３４&amp;lt;br/&amp;gt;&lt;br /&gt;５６７８９&amp;lt;br/&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;div style=&amp;quot;clear:both; display:block; font-size: 1px; height: 1px; line-height: 1px;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;div id=&amp;quot;wordTestTwitch002Result&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;//&amp;lt;![CDATA[&amp;lt;!--&lt;br /&gt;try{(function(){&lt;br /&gt;    var divElem = document.getElementById(&amp;quot;wordTestTwitch002&amp;quot;),&lt;br /&gt;    resultElem = document.getElementById(&amp;quot;wordTestTwitch002Result&amp;quot;),&lt;br /&gt;    divElemOuterWidth = $(divElem).outerWidth(),&lt;br /&gt;    divElemOuterHeight = $(divElem).outerHeight(),&lt;br /&gt;    orderCount = 0,&lt;br /&gt;    processCount = 0,&lt;br /&gt;    loopCount = 8,&lt;br /&gt;    maxFontSize = Math.min($(divElem).width(), $(divElem).height()) / 2,&lt;br /&gt;    accelDiameter = 50,&lt;br /&gt;    animateDuration = 500,&lt;br /&gt;    loopSleep = 1000,&lt;br /&gt;    animateWait = 50,&lt;br /&gt;    startTime = null,&lt;br /&gt;    checkStop = function(){&lt;br /&gt;        processCount--;&lt;br /&gt;        if (processCount &amp;lt;= 0)&lt;br /&gt;        {&lt;br /&gt;            $(divElem).unbind(&amp;quot;click&amp;quot;).css(&amp;quot;cursor&amp;quot;, &amp;quot;default&amp;quot;);&lt;br /&gt;        }&lt;br /&gt;    },&lt;br /&gt;    wordTestTwitch002FuncTimeOverList = [],&lt;br /&gt;    resultElemScrollCount = 0,&lt;br /&gt;    resultElemScroll = function(){&lt;br /&gt;        resultElemScrollCount++;&lt;br /&gt;    },&lt;br /&gt;    resultElemScrollProcess = function(){&lt;br /&gt;        var i;&lt;br /&gt;        if (resultElemScrollCount == -100)&lt;br /&gt;        {&lt;br /&gt;            $(resultElem).animate(&lt;br /&gt;                {scrollTop:0},&lt;br /&gt;                {&amp;quot;duration&amp;quot;: 8000,&lt;br /&gt;                 &amp;quot;complete&amp;quot;: function(){$(resultElem).css(&amp;quot;background-color&amp;quot;, &amp;quot;#BCDEFF&amp;quot;);&lt;br /&gt;                                        $(divElem).css(&amp;quot;background-color&amp;quot;, &amp;quot;#BCDEFF&amp;quot;);}});&lt;br /&gt;        }&lt;br /&gt;        else if (resultElemScrollCount &amp;lt;= 0)&lt;br /&gt;        {&lt;br /&gt;            if (processCount &amp;lt;= 0)&lt;br /&gt;            {&lt;br /&gt;                for (i = 0; i &amp;lt; wordTestTwitch002FuncTimeOverList.length; i++)&lt;br /&gt;                {&lt;br /&gt;                    $(resultElem).append(&amp;quot;移動回数オーバー: &amp;quot; + wordTestTwitch002FuncTimeOverList[i] + &amp;quot;&amp;lt;&amp;quot; + &amp;quot;br/&amp;gt;&amp;quot;);&lt;br /&gt;                }&lt;br /&gt;                $(resultElem).animate({scrollTop:65535},&amp;quot;fast&amp;quot;);&lt;br /&gt;                resultElemScrollCount = -100;&lt;br /&gt;                setTimeout(resultElemScrollProcess, 2000);&lt;br /&gt;            }&lt;br /&gt;            else&lt;br /&gt;            {&lt;br /&gt;                setTimeout(resultElemScrollProcess, 2000);&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;        else&lt;br /&gt;        {&lt;br /&gt;            resultElemScrollCount--;&lt;br /&gt;            $(resultElem).animate({scrollTop:65535},&amp;quot;fast&amp;quot;);&lt;br /&gt;            setTimeout(resultElemScrollProcess, 500);&lt;br /&gt;        }&lt;br /&gt;    },&lt;br /&gt;    resultElemScrollProcessStart = function(){&lt;br /&gt;        $(divElem).unbind(&amp;quot;click&amp;quot;, resultElemScrollProcessStart);&lt;br /&gt;        resultElemScrollProcess();&lt;br /&gt;    },&lt;br /&gt;    randFunc = function(division){&lt;br /&gt;        return ((Math.random() * 2) - 1) * division;&lt;br /&gt;    };&lt;br /&gt;    $(divElem).each(function(){&lt;br /&gt;        $(this).html($(this).html().replace(/((?:&amp;lt;[^&amp;lt;&amp;gt;]+&amp;gt;)*)([^&amp;lt;])((?:&amp;lt;[^&amp;lt;&amp;gt;]+&amp;gt;)*)/g, function(){&lt;br /&gt;            if (arguments[2].match(/^[\x00-\x20]$/))&lt;br /&gt;            {&lt;br /&gt;                return arguments[1] + arguments[2] + arguments[3];&lt;br /&gt;            }&lt;br /&gt;            return arguments[1]&lt;br /&gt;                + &amp;quot;&amp;lt;&amp;quot; + &amp;quot;span class='wordTestTwitch002Class'&amp;gt;&amp;quot; + arguments[2] + &amp;quot;&amp;lt;&amp;quot; + &amp;quot;/span&amp;gt;&amp;quot;&lt;br /&gt;                + arguments[3];&lt;br /&gt;        }));&lt;br /&gt;    }).find(&amp;quot;.wordTestTwitch002Class&amp;quot;).each(function(){&lt;br /&gt;        $(this)&lt;br /&gt;            .css(&amp;quot;position&amp;quot;, &amp;quot;relative&amp;quot;)&lt;br /&gt;            .css(&amp;quot;z-index&amp;quot;, &amp;quot;1&amp;quot;)&lt;br /&gt;            .bind(&amp;quot;selectstart&amp;quot;,function(){&lt;br /&gt;                return false;&lt;br /&gt;            }).mousedown(function(){&lt;br /&gt;                return false;&lt;br /&gt;            });&lt;br /&gt;        var cnt = 0,&lt;br /&gt;        elem = $(this),&lt;br /&gt;        top = 0,&lt;br /&gt;        left = 0,&lt;br /&gt;        fontSize = parseFloat(elem.css(&amp;quot;font-size&amp;quot;)),&lt;br /&gt;        stopFlag = false,&lt;br /&gt;        animateFlag = false,&lt;br /&gt;        setTransparent = function(){&lt;br /&gt;            elem&lt;br /&gt;                .css(&amp;quot;color&amp;quot;, &amp;quot;#FFFFFF&amp;quot;).css(&amp;quot;z-index&amp;quot;, &amp;quot;0&amp;quot;)&lt;br /&gt;                .css(&amp;quot;filter&amp;quot;, &amp;quot;alpha(opacity=0)&amp;quot;)&lt;br /&gt;                .css(&amp;quot;-ms-filter&amp;quot;, &amp;quot;alpha(opacity=0)&amp;quot;)&lt;br /&gt;                .css(&amp;quot;opacity&amp;quot;, &amp;quot;0&amp;quot;)&lt;br /&gt;            ;&lt;br /&gt;        },&lt;br /&gt;        elemRemove = function(){&lt;br /&gt;            if (processCount &amp;lt;= 0)&lt;br /&gt;            {&lt;br /&gt;                elem.remove();&lt;br /&gt;            }&lt;br /&gt;            else&lt;br /&gt;            {&lt;br /&gt;                setTimeout(elemRemove, 8000);&lt;br /&gt;            }&lt;br /&gt;        },&lt;br /&gt;        wordTestTwitch002FuncStop = function(){&lt;br /&gt;            setTransparent();&lt;br /&gt;            checkStop();&lt;br /&gt;            if (processCount &amp;lt;= 0)&lt;br /&gt;            {&lt;br /&gt;                $(resultElem).append(&amp;quot;ストップ&amp;lt;&amp;quot; + &amp;quot;br/&amp;gt;&amp;quot;).css(&amp;quot;background-color&amp;quot;, &amp;quot;#FFEDCB&amp;quot;);&lt;br /&gt;            }&lt;br /&gt;            elemRemove();&lt;br /&gt;        },&lt;br /&gt;        wordTestTwitch002FuncTimeOver = function(){&lt;br /&gt;            setTransparent();&lt;br /&gt;            wordTestTwitch002FuncTimeOverList.push(elem.text());&lt;br /&gt;            checkStop();&lt;br /&gt;            resultElemScroll();&lt;br /&gt;            elemRemove();&lt;br /&gt;        },&lt;br /&gt;        wordTestTwitch002FuncArrival = function(){&lt;br /&gt;            setTransparent();&lt;br /&gt;            orderCount++;&lt;br /&gt;            $(resultElem).append(&lt;br /&gt;                (&amp;quot; &amp;quot; + orderCount).slice(-2).replace(&amp;quot; &amp;quot;, &amp;quot;&amp;amp;nbsp;&amp;quot;) + &amp;quot;位: &amp;quot; + elem.text()&lt;br /&gt;                    + &amp;quot; (font-size:&amp;quot;&lt;br /&gt;                    + (&amp;quot;  &amp;quot; + Math.round(fontSize)).slice(-3).replace(&amp;quot; &amp;quot;, &amp;quot;&amp;amp;nbsp;&amp;quot;) + &amp;quot;px&amp;quot;&lt;br /&gt;                    + &amp;quot; time:&amp;quot;&lt;br /&gt;                    + String(((new Date().getTime()) - startTime) / 1000).replace(/^([0-9]+)(?:\.([0-9]+))?$/,function(){&lt;br /&gt;                        var ret = &amp;quot;&amp;quot;, decimal = arguments[2];&lt;br /&gt;                        if (parseInt(arguments[1], 10) &amp;gt;= 1000)&lt;br /&gt;                        {&lt;br /&gt;                            ret += arguments[1];&lt;br /&gt;                        }&lt;br /&gt;                        else&lt;br /&gt;                        {&lt;br /&gt;                            ret += (&amp;quot;  &amp;quot; + arguments[1]).slice(-3).replace(&amp;quot; &amp;quot;, &amp;quot;&amp;amp;nbsp;&amp;quot;);&lt;br /&gt;                        }&lt;br /&gt;                        if (typeof decimal !== &amp;quot;string&amp;quot;)&lt;br /&gt;                        {&lt;br /&gt;                            decimal = &amp;quot;&amp;quot;;&lt;br /&gt;                        }&lt;br /&gt;                        return ret + &amp;quot;.&amp;quot; + (decimal + &amp;quot;00&amp;quot;).substr(0, 2);&lt;br /&gt;                    })&lt;br /&gt;                    + &amp;quot;秒&amp;quot;&lt;br /&gt;                    + &amp;quot;)&amp;lt;&amp;quot; + &amp;quot;br/&amp;gt;&amp;quot;&lt;br /&gt;            );&lt;br /&gt;            checkStop();&lt;br /&gt;            resultElemScroll();&lt;br /&gt;            elemRemove();&lt;br /&gt;        },&lt;br /&gt;        wordTestTwitch002FuncExecute = function(){&lt;br /&gt;            var accel, fontSizeOld,&lt;br /&gt;            randSleep = function(){&lt;br /&gt;                return Math.round(Math.random() * (animateDuration + loopSleep) / 0.25);&lt;br /&gt;            };&lt;br /&gt;            if (animateFlag === false)&lt;br /&gt;            {&lt;br /&gt;                if (stopFlag)&lt;br /&gt;                {&lt;br /&gt;                    wordTestTwitch002FuncStop();&lt;br /&gt;                    return;&lt;br /&gt;                }&lt;br /&gt;                if (++cnt &amp;gt; loopCount)&lt;br /&gt;                {&lt;br /&gt;                    wordTestTwitch002FuncTimeOver();&lt;br /&gt;                    return;&lt;br /&gt;                }&lt;br /&gt;                accel = Math.pow(accelDiameter * cnt / loopCount, 2) / accelDiameter;&lt;br /&gt;                if (fontSize &amp;lt; 5)&lt;br /&gt;                {&lt;br /&gt;                    accel *= (6 - fontSize);&lt;br /&gt;                }&lt;br /&gt;                else if ((maxFontSize - fontSize) &amp;lt; 5)&lt;br /&gt;                {&lt;br /&gt;                    accel /= (6 - (maxFontSize - fontSize));&lt;br /&gt;                }&lt;br /&gt;                fontSizeOld = fontSize;&lt;br /&gt;                fontSize += randFunc(1 + accel + ((maxFontSize &amp;lt;= fontSize) ? (maxFontSize * 3) : 0));&lt;br /&gt;                fontSize = Math.max(1, Math.min(maxFontSize, fontSize));&lt;br /&gt;                top += randFunc(1 + accel) + ((fontSizeOld - fontSize) / 0.125);&lt;br /&gt;                left += randFunc(1 + (accel * 8)) + ((fontSizeOld - fontSize) / 2);&lt;br /&gt;                animateFlag = true;&lt;br /&gt;                elem.animate({&amp;quot;top&amp;quot;: Math.round(top) + &amp;quot;px&amp;quot;,&lt;br /&gt;                              &amp;quot;left&amp;quot;: Math.round(left) + &amp;quot;px&amp;quot;,&lt;br /&gt;                              &amp;quot;font-size&amp;quot;: Math.round(fontSize) + &amp;quot;px&amp;quot;,&lt;br /&gt;                              &amp;quot;line-height&amp;quot;: Math.round(fontSize) + &amp;quot;px&amp;quot;}&lt;br /&gt;                             ,{&amp;quot;duration&amp;quot;: animateDuration + randSleep(),&lt;br /&gt;                               &amp;quot;complete&amp;quot;: function(){animateFlag = false;}});&lt;br /&gt;                if ((divElemOuterWidth &amp;lt; elem.position().left)&lt;br /&gt;                    || (0 &amp;gt; (elem.position().left + elem.outerWidth()))&lt;br /&gt;                    || (divElemOuterHeight &amp;lt; elem.position().top)&lt;br /&gt;                    || (0 &amp;gt; (elem.position().top + elem.outerHeight())))&lt;br /&gt;                {&lt;br /&gt;                    wordTestTwitch002FuncArrival();&lt;br /&gt;                    return;&lt;br /&gt;                }&lt;br /&gt;                setTimeout(wordTestTwitch002FuncExecute, loopSleep + randSleep());&lt;br /&gt;            }&lt;br /&gt;            else&lt;br /&gt;            {&lt;br /&gt;                setTimeout(wordTestTwitch002FuncExecute, animateWait);&lt;br /&gt;            }&lt;br /&gt;        },&lt;br /&gt;        startFunc = function(){&lt;br /&gt;            $(divElem).unbind(&amp;quot;click&amp;quot;, startFunc);&lt;br /&gt;            setTimeout(wordTestTwitch002FuncExecute, Math.round(Math.random() * 8000));&lt;br /&gt;            $(divElem).click(stopFunc);&lt;br /&gt;            if (startTime === null)&lt;br /&gt;            {&lt;br /&gt;                startTime = new Date().getTime();&lt;br /&gt;            }&lt;br /&gt;        },&lt;br /&gt;        stopFunc = function(){&lt;br /&gt;            $(divElem).unbind(&amp;quot;click&amp;quot;, stopFunc);&lt;br /&gt;            stopFlag = true;&lt;br /&gt;        };&lt;br /&gt;        $(divElem).click(startFunc);&lt;br /&gt;        processCount++;&lt;br /&gt;    });&lt;br /&gt;    $(divElem)&lt;br /&gt;        .bind(&amp;quot;selectstart&amp;quot;,function(){&lt;br /&gt;            return false;&lt;br /&gt;        }).mousedown(function(){&lt;br /&gt;            return false;&lt;br /&gt;        })&lt;br /&gt;        .click(resultElemScrollProcessStart);&lt;br /&gt;})();}catch(e){window.document.write(&amp;quot;&amp;lt;&amp;quot;+&amp;quot;pre&amp;gt;Error: &amp;quot; + e + &amp;quot;&amp;lt;&amp;quot;+&amp;quot;/pre&amp;gt;&amp;quot;);}&lt;br /&gt;//--&amp;gt;]]&amp;gt;&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6143936844695013686-8241817505260078197?l=insnvlovn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://insnvlovn.blogspot.com/feeds/8241817505260078197/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6143936844695013686&amp;postID=8241817505260078197' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/8241817505260078197'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/8241817505260078197'/><link rel='alternate' type='text/html' href='http://insnvlovn.blogspot.com/2011/10/javascriptanimate.html' title='javascriptのanimate'/><author><name>insn</name><uri>http://www.blogger.com/profile/05196582005861324185</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6143936844695013686.post-1858548171394083447</id><published>2011-10-20T05:15:00.000+09:00</published><updated>2011-10-20T05:16:25.336+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tomoyolinux'/><title type='text'>tomoyo-toolsのバージョンを下げた</title><content type='html'>2.4.0にしたらtomoyo-editpolicyのdomain policy editorで設定した名前の行でEnterを押したら空になったので下げた。&lt;br /&gt;&lt;pre&gt;$ eix tomoyo-tools -cI&lt;br /&gt;[I] sys-apps/tomoyo-tools (2.3.0_p20110929@2011年10月20日): TOMOYO Linux tools&lt;/pre&gt;2.4で保存する場所が変わったかもしれない、&lt;br /&gt;2.3にしてからdomain_policy.confを短くした、&lt;br /&gt;などの理由で直ったかもしれないので、&lt;br /&gt;2.4に再度上げて保存した設定ファイルを手動で移動すれば大丈夫かもしれないが試してはいない。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;以下はメモです。&lt;br /&gt;&lt;br /&gt;カーネルのバージョン。&lt;br /&gt;&lt;pre&gt;$ uname -a&lt;br /&gt;Linux amdgentoo 3.0.4-hardened-r1 #1 SMP Mon Oct 17 01:47:30 JST 2011 x86_64 AMD Phenom(tm) 9350e Quad-Core Processor AuthenticAMD GNU/Linux&lt;/pre&gt;&lt;br /&gt;関連するコンフィグ。(make menuconfigで設定)&lt;br /&gt;&lt;pre&gt;$ grep -i tomoyo /usr/src/linux/.config&lt;br /&gt;CONFIG_SECURITY_TOMOYO=y&lt;br /&gt;CONFIG_DEFAULT_SECURITY_TOMOYO=y&lt;br /&gt;CONFIG_DEFAULT_SECURITY="tomoyo"&lt;/pre&gt;&lt;br /&gt;tomoyo-editpolicyが重いので有効なdomain_policy.confのuse_profile 0の辺りを手動で消した。&lt;br /&gt;たぶんセーブの仕方が悪いかもしれない。&lt;br /&gt;&lt;pre&gt;&amp;lt;kernel&amp;gt; /etc/init.d/ntpd /lib64/rc/sh/runscript.sh /sbin/start-stop-daemon /usr/sbin/ntpd&lt;br /&gt;use_profile 3&lt;br /&gt;&lt;br /&gt;allow_read/write /dev/null&lt;br /&gt;allow_create /var/run/ntpd.pid 0644&lt;br /&gt;allow_write /var/run/ntpd.pid&lt;br /&gt;allow_read /etc/ntp.conf&lt;br /&gt;allow_ioctl socket:[family=2:type=2:protocol=17] 0x8912&lt;br /&gt;allow_read /proc/\$/net/if_inet6&lt;br /&gt;allow_ioctl socket:[family=2:type=2:protocol=17] 0x8913&lt;br /&gt;allow_ioctl socket:[family=2:type=2:protocol=17] 0x891B&lt;br /&gt;allow_ioctl socket:[family=2:type=2:protocol=17] 0x8919&lt;br /&gt;allow_read /etc/nsswitch.conf&lt;br /&gt;allow_read /etc/services&lt;br /&gt;allow_read /var/lib/ntp/ntp.drift&lt;br /&gt;allow_read /etc/resolv.conf&lt;br /&gt;allow_read /etc/host.conf&lt;br /&gt;allow_read /etc/hosts&lt;br /&gt;allow_ioctl socket:[family=2:type=2:protocol=17] 0x541B&lt;br /&gt;allow_read /etc/gai.conf&lt;br /&gt;allow_create /var/lib/ntp/ntp.drift.TEMP 0644&lt;br /&gt;allow_write /var/lib/ntp/ntp.drift.TEMP&lt;br /&gt;allow_truncate /var/lib/ntp/ntp.drift.TEMP&lt;br /&gt;allow_rename /var/lib/ntp/ntp.drift.TEMP /var/lib/ntp/ntp.drift&lt;br /&gt;allow_read /dev/urandom&lt;br /&gt;allow_read /dev/random&lt;br /&gt;allow_create /var/run/ntpd.pid 0666&lt;br /&gt;allow_create /var/lib/ntp/ntp.drift.TEMP 0666&lt;br /&gt;&lt;br /&gt;&amp;lt;kernel&amp;gt; /etc/init.d/nginx /lib64/rc/sh/runscript.sh /sbin/start-stop-daemon /usr/sbin/nginx&lt;br /&gt;use_profile 3&lt;br /&gt;&lt;br /&gt;allow_read/write /var/run/nginx.pid&lt;br /&gt;allow_unlink /var/run/nginx.pid&lt;br /&gt;allow_write /var/log/nginx/error_log&lt;br /&gt;allow_read /etc/nginx/nginx.conf&lt;br /&gt;allow_read /etc/nsswitch.conf&lt;br /&gt;allow_read /etc/passwd&lt;br /&gt;allow_read /etc/group&lt;br /&gt;allow_read /etc/nginx/mime.types&lt;br /&gt;allow_read /etc/resolv.conf&lt;br /&gt;allow_read /etc/host.conf&lt;br /&gt;allow_read /etc/hosts&lt;br /&gt;allow_write /var/log/nginx/localhost.access_log&lt;br /&gt;allow_write /var/log/nginx/localhost.error_log&lt;br /&gt;allow_ioctl socket:[family=2:type=1:protocol=6] 0x5421&lt;br /&gt;allow_read/write /dev/null&lt;br /&gt;allow_create /var/run/nginx.pid 0644&lt;br /&gt;allow_ioctl socket:[family=1:type=1:protocol=0] 0x5421&lt;br /&gt;allow_ioctl socket:[family=1:type=1:protocol=0] 0x5452&lt;br /&gt;allow_read /proc/sys/kernel/ngroups_max&lt;br /&gt;allow_ioctl anon_inode:[eventfd] 0x5421&lt;br /&gt;allow_read /etc/nginx/conf/htpasswd&lt;br /&gt;allow_read /var/www/\*/htdocs/\*.htm&lt;br /&gt;allow_read /var/www/\*/htdocs/\*.html&lt;br /&gt;allow_read /var/www/\*/htdocs/\*.ico&lt;br /&gt;allow_read /var/www/\*/htdocs/\*.txt&lt;br /&gt;allow_read /var/www/\*/htdocs/\{\*\}/\*.bz2&lt;br /&gt;allow_read /var/www/\*/htdocs/\{\*\}/\*.css&lt;br /&gt;allow_read /var/www/\*/htdocs/\{\*\}/\*.flv&lt;br /&gt;allow_read /var/www/\*/htdocs/\{\*\}/\*.gif&lt;br /&gt;allow_read /var/www/\*/htdocs/\{\*\}/\*.gz&lt;br /&gt;allow_read /var/www/\*/htdocs/\{\*\}/\*.htm&lt;br /&gt;allow_read /var/www/\*/htdocs/\{\*\}/\*.html&lt;br /&gt;allow_read /var/www/\*/htdocs/\{\*\}/\*.ico&lt;br /&gt;allow_read /var/www/\*/htdocs/\{\*\}/\*.jpeg&lt;br /&gt;allow_read /var/www/\*/htdocs/\{\*\}/\*.jpg&lt;br /&gt;allow_read /var/www/\*/htdocs/\{\*\}/\*.js&lt;br /&gt;allow_read /var/www/\*/htdocs/\{\*\}/\*.pdf&lt;br /&gt;allow_read /var/www/\*/htdocs/\{\*\}/\*.png&lt;br /&gt;allow_read /var/www/\*/htdocs/\{\*\}/\*.tgz&lt;br /&gt;allow_read /var/www/\*/htdocs/\{\*\}/\*.txt&lt;br /&gt;allow_read /var/www/\*/htdocs/\{\*\}/\*.xml&lt;br /&gt;allow_read /var/www/\*/htdocs/\{\*\}/\*.xz&lt;br /&gt;allow_read /var/www/\*/htdocs/\{\*\}/\*.zip&lt;br /&gt;allow_read /var/www/\*/tmp/\{\*\}/\*.png&lt;br /&gt;&lt;br /&gt;&amp;lt;kernel&amp;gt; /usr/sbin/apache2&lt;br /&gt;use_profile 3&lt;br /&gt;&lt;br /&gt;allow_read /etc/apache2/httpd.conf&lt;br /&gt;allow_read /etc/apache2/vhosts.d/default_vhost.include&lt;br /&gt;allow_read /etc/nsswitch.conf&lt;br /&gt;allow_read /etc/passwd&lt;br /&gt;allow_read /etc/group&lt;br /&gt;allow_read /etc/resolv.conf&lt;br /&gt;allow_read /etc/host.conf&lt;br /&gt;allow_read /etc/hosts&lt;br /&gt;allow_read /etc/gai.conf&lt;br /&gt;allow_read/write /var/run/apache2.pid&lt;br /&gt;allow_unlink /var/run/apache2.pid&lt;br /&gt;allow_truncate /var/run/apache2.pid&lt;br /&gt;allow_read/write /tmp/session_mm_apache2handler0.sem&lt;br /&gt;allow_unlink /tmp/session_mm_apache2handler0.sem&lt;br /&gt;allow_write /var/log/apache2/error_log&lt;br /&gt;allow_write /var/log/apache2/ssl_error_log&lt;br /&gt;allow_write /var/log/apache2/access_log&lt;br /&gt;allow_write /var/log/apache2/ssl_access_log&lt;br /&gt;allow_write /var/log/apache2/ssl_request_log&lt;br /&gt;allow_read /etc/apache2/magic&lt;br /&gt;allow_read /etc/mime.types&lt;br /&gt;allow_read /dev/urandom&lt;br /&gt;allow_create /var/run/ssl_mutex 0644&lt;br /&gt;allow_write /var/run/ssl_mutex&lt;br /&gt;allow_unlink /var/run/ssl_mutex&lt;br /&gt;allow_read/write /dev/null&lt;br /&gt;allow_read /proc/sys/kernel/ngroups_max&lt;br /&gt;allow_read /etc/php/apache2-php5.3/php.ini&lt;br /&gt;allow_ioctl /etc/php/apache2-php5.3/php.ini 0x5401&lt;br /&gt;allow_create /tmp/session_mm_apache2handler0.sem 0600&lt;br /&gt;allow_read /etc/locales.conf&lt;br /&gt;allow_read /etc/services&lt;br /&gt;allow_read/write /usr/share/snmp/mibs/.index&lt;br /&gt;allow_truncate /usr/share/snmp/mibs/.index&lt;br /&gt;allow_read /etc/protocols&lt;br /&gt;allow_read/write /dev/zero&lt;br /&gt;allow_create /var/run/apache2.pid 0644&lt;br /&gt;allow_read /etc/apache2/modules.d/\+\+_\*.conf&lt;br /&gt;allow_read /etc/apache2/vhosts.d/\+\+_\*.conf&lt;br /&gt;allow_read /etc/php/apache2-php5.3/ext/\*.ini&lt;br /&gt;allow_ioctl /etc/php/apache2-php5.3/ext/\*.ini 0x5401&lt;br /&gt;allow_read /etc/php/ext/\*.ini&lt;br /&gt;allow_ioctl /etc/php/ext/\*.ini 0x5401&lt;br /&gt;allow_read/write /tmp/.xcache.\*.lock&lt;br /&gt;allow_unlink /tmp/.xcache.\*.lock&lt;br /&gt;allow_create /tmp/.xcache.\*.lock 0666&lt;br /&gt;allow_read /usr/share/snmp/mibs/\*.txt&lt;br /&gt;allow_read /usr/lib\*/locale/locale-archive&lt;br /&gt;allow_mksock /var/run/cgisock.\$ 0700&lt;br /&gt;allow_chmod /var/run/cgisock.\$ 0700&lt;br /&gt;allow_chown /var/run/cgisock.\$ 81&lt;br /&gt;allow_unlink /var/run/cgisock.\$&lt;br /&gt;allow_read /etc/ssl/apache2/\+\+\+\+-\+\+-\+\+/\*.pem&lt;br /&gt;allow_read /var/www/\*/htdocs/.htaccess&lt;br /&gt;allow_read /var/www/\*/htdocs/\*.php&lt;br /&gt;allow_read /var/www/\*/htdocs/\{\*\}/.htaccess&lt;br /&gt;allow_read /var/www/\*/htdocs/\{\*\}/\*.php&lt;br /&gt;allow_read /var/www/\*/htdocs/\{\*\}/\*.php\+&lt;br /&gt;allow_read /var/www/\*/htdocs/\*.php\+&lt;br /&gt;allow_read /var/www/\*/htdocs/\{\*\}/\*.png&lt;br /&gt;allow_read /var/www/\*/htdocs/\*.htm&lt;br /&gt;allow_read /var/www/\*/htdocs/\*.html&lt;br /&gt;allow_read /var/www/\*/htdocs/\*.ico&lt;br /&gt;allow_read /var/www/\*/htdocs/\*.txt&lt;br /&gt;allow_read /var/www/\*/htdocs/\{\*\}/\*.bz2&lt;br /&gt;allow_read /var/www/\*/htdocs/\{\*\}/\*.css&lt;br /&gt;allow_read /var/www/\*/htdocs/\{\*\}/\*.flv&lt;br /&gt;allow_read /var/www/\*/htdocs/\{\*\}/\*.gif&lt;br /&gt;allow_read /var/www/\*/htdocs/\{\*\}/\*.gz&lt;br /&gt;allow_read /var/www/\*/htdocs/\{\*\}/\*.htm&lt;br /&gt;allow_read /var/www/\*/htdocs/\{\*\}/\*.html&lt;br /&gt;allow_read /var/www/\*/htdocs/\{\*\}/\*.ico&lt;br /&gt;allow_read /var/www/\*/htdocs/\{\*\}/\*.jpeg&lt;br /&gt;allow_read /var/www/\*/htdocs/\{\*\}/\*.jpg&lt;br /&gt;allow_read /var/www/\*/htdocs/\{\*\}/\*.js&lt;br /&gt;allow_read /var/www/\*/htdocs/\{\*\}/\*.pdf&lt;br /&gt;allow_read /var/www/\*/htdocs/\{\*\}/\*.tgz&lt;br /&gt;allow_read /var/www/\*/htdocs/\{\*\}/\*.txt&lt;br /&gt;allow_read /var/www/\*/htdocs/\{\*\}/\*.xml&lt;br /&gt;allow_read /var/www/\*/htdocs/\{\*\}/\*.xz&lt;br /&gt;allow_read /var/www/\*/htdocs/\{\*\}/\*.zip&lt;br /&gt;allow_read/write /mnt/share/svn/repos/\{\*\}/\*&lt;br /&gt;allow_unlink /mnt/share/svn/repos/\{\*\}/\*&lt;br /&gt;allow_truncate /mnt/share/svn/repos/\{\*\}/\*&lt;br /&gt;allow_create /mnt/share/svn/repos/\{\*\}/\* 0600&lt;br /&gt;allow_create /tmp/apr-tmp.\* 0600&lt;br /&gt;allow_read/write /tmp/apr-tmp.\*&lt;br /&gt;allow_unlink /tmp/apr-tmp.\*&lt;br /&gt;allow_chmod /mnt/share/svn/repos/\{\*\}/\* 0644&lt;br /&gt;allow_read/write /tmp/svn-tempfile.\*tmp&lt;br /&gt;allow_unlink /tmp/svn-tempfile.\*tmp&lt;br /&gt;allow_create /tmp/svn-tempfile.\*tmp 0666&lt;br /&gt;allow_create /mnt/share/svn/repos/\{\*\}/\* 0664&lt;br /&gt;allow_chmod /mnt/share/svn/repos/\{\*\}/\* 0664&lt;br /&gt;allow_rename /mnt/share/svn/repos/\{\*\}/\* /mnt/share/svn/repos/\{\*\}/\*&lt;br /&gt;allow_mkdir /mnt/share/svn/repos/\{\*\}/ 0777&lt;br /&gt;allow_create /mnt/share/svn/repos/\{\*\}/\* 0666&lt;br /&gt;allow_rmdir /mnt/share/svn/repos/\{\*\}/&lt;br /&gt;&lt;br /&gt;&amp;lt;kernel&amp;gt; /etc/init.d/named /lib64/rc/sh/runscript.sh /sbin/start-stop-daemon /usr/sbin/named&lt;br /&gt;use_profile 3&lt;br /&gt;&lt;br /&gt;allow_write /var/run/named/session.key&lt;br /&gt;allow_unlink /var/run/named/session.key&lt;br /&gt;allow_write /var/run/named/named.pid&lt;br /&gt;allow_unlink /var/run/named/named.pid&lt;br /&gt;allow_read /etc/nsswitch.conf&lt;br /&gt;allow_read /etc/passwd&lt;br /&gt;allow_read /proc/sys/kernel/ngroups_max&lt;br /&gt;allow_read /etc/group&lt;br /&gt;allow_read/write /dev/null&lt;br /&gt;allow_read /etc/ssl/openssl.cnf&lt;br /&gt;allow_read /etc/bind/named.conf&lt;br /&gt;allow_read /etc/bind/rndc.key&lt;br /&gt;allow_read /etc/bind/bind.keys&lt;br /&gt;allow_read /proc/\$/net/if_inet6&lt;br /&gt;allow_create /var/run/named/named.pid 0644&lt;br /&gt;allow_create /var/run/named/session.key 0600&lt;br /&gt;allow_read /dev/random&lt;br /&gt;allow_write /var/log/named/named.log&lt;br /&gt;allow_read /var/bind/managed-keys.bind&lt;br /&gt;allow_read /var/bind/pri/\*.zone&lt;br /&gt;allow_read /var/bind/sec/\*.zone&lt;br /&gt;allow_read /dev/urandom&lt;/pre&gt;&lt;br /&gt;exception_policy.confの手動で追加したと思われる部分。&lt;br /&gt;&lt;pre&gt;initialize_domain /etc/init.d/named&lt;br /&gt;allow_read /proc/self/\*&lt;br /&gt;allow_read /proc/self/\{\*\}/\*&lt;br /&gt;allow_read /proc/meminfo&lt;br /&gt;allow_read /lib\$/\*.so&lt;br /&gt;allow_read /usr/lib\$/\*.so&lt;br /&gt;allow_read /usr/lib\$/\{\*\}/\*.so&lt;br /&gt;allow_read /lib\$/\{\*\}/\*.so&lt;br /&gt;allow_read /lib\$/\*.so.\+\*&lt;br /&gt;allow_read /lib\$/\{\*\}/\*.so.\+\*&lt;br /&gt;allow_read /usr/lib\$/\{\*\}/\*.so.\+\*&lt;br /&gt;allow_read /usr/lib\$/\*.so.\+\*&lt;br /&gt;allow_read /usr/lib64/gconv/gconv-modules.cache&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6143936844695013686-1858548171394083447?l=insnvlovn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://insnvlovn.blogspot.com/feeds/1858548171394083447/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6143936844695013686&amp;postID=1858548171394083447' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/1858548171394083447'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/1858548171394083447'/><link rel='alternate' type='text/html' href='http://insnvlovn.blogspot.com/2011/10/tomoyo-tools.html' title='tomoyo-toolsのバージョンを下げた'/><author><name>insn</name><uri>http://www.blogger.com/profile/05196582005861324185</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6143936844695013686.post-3416000784890839141</id><published>2011-10-19T04:53:00.052+09:00</published><updated>2011-11-11T03:03:21.941+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><title type='text'>javascriptのsetTimeout</title><content type='html'>setTimeoutで定期的にcssを変更する例です。&lt;br /&gt;クリックするとスタートします。&lt;br /&gt;もう一度クリックするとストップします。&lt;br /&gt;&lt;table id="wordTestTwitch001" style="border-collapse: collapse; padding: 0pt; width: 112px; height: 112px; text-align: center; vertical-align: middle; background-color: rgb(255, 255, 255); color: rgb(127, 127, 127); border: 1px solid rgb(24, 24, 24); margin: 0pt auto 14px auto; font-size: 14px; font-family: monospace;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;div&gt;sample&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div style="font-family: monospace; font-size: 14px; margin: 0pt 0pt 0pt 14px; padding: 0pt;" id="wordTestTwitch001Result"&gt;&lt;/div&gt;&lt;script type="text/javascript"&gt;//&lt;![CDATA[&lt;!--try{(function(){    var tableElem = document.getElementById("wordTestTwitch001"),    resultElem = document.getElementById("wordTestTwitch001Result"),    mainTop = (function(){return - parseInt($("#content-wrapper").css("margin-top"));        return $("#main").offset().top + parseInt($("#main").css("padding-top"), 10);    })(),    mainLeft = (function(){return 0;        return $("#main").offset().left + parseInt($("#main").css("padding-left"), 10);    })(),    tableTop = $(tableElem).offset().top - mainTop,    tableLeft = $(tableElem).offset().left - mainLeft,    tableBottom = tableTop + $(tableElem).outerHeight(),    tableRight = tableLeft + $(tableElem).outerWidth(),    orderCount = 0,    randFunc = function(division){        return ((Math.random() * 2) - 1) * division;    },    processCount = 0,    checkStop = function(){        processCount--;        if (processCount &lt;= 0)        {            $(tableElem).unbind("click");            $(tableElem).css("cursor", "default");        }    },    loopCount = 600,    startTime = new Date().getTime();    $("#wordTestTwitch001, #wordTestTwitch001 *").each(function(){        if (!$(this).html().match(/&lt;/))        {            $(this).html($(this).text().replace(/(.)/g, function(){                return "&lt;" + "span class='wordTestTwitch001Class'&gt;" + arguments[1] + "&lt;" + "/span&gt;";            }));        }    }).find(".wordTestTwitch001Class").each(function(){        $(this)            .css("top", $(this).offset().top - mainTop)            .css("left", $(this).offset().left - mainLeft);    }).each(function(){        $(this).css("position", "absolute");        var cnt = 0,        elem = $(this),        top = parseFloat(elem.css("top")),        left = parseFloat(elem.css("left")),        fontSize = parseFloat(elem.css("font-size")),        red = 127.5,        green = 127.5,        blue = 127.5,        stopFlag = false,        wordTestTwitch001FuncStop = function(){            elem.remove();            checkStop();            if (processCount &lt;= 0)            {                $(resultElem).append("ストップ&lt;" + "br/&gt;");            }        },        wordTestTwitch001FuncTimeOver = function(){            $(resultElem).append("時間切れ: " + elem.text() + "&lt;" + "br/&gt;");            elem.remove();            checkStop();        },        wordTestTwitch001FuncArrival = function(){            ++orderCount;            $(resultElem).append(                (String(orderCount).length == 1 ? "&amp;nbsp;" : "") + orderCount + "位: " + elem.text()                    + " (font-size:" + (String(fontSize).length == 1 ? "&amp;nbsp;" : "") + Math.round(fontSize) + "px"                    + " color:&lt;" + "span style='color: rgb("                    + Math.round(red) + "," + Math.round(green) + "," + Math.round(blue) + ");"                    + " font-family: monospace; font-size: 14px;'&gt;■&lt;" + "/span&gt;"                    + " time:" + (parseInt(((new Date().getTime()) - startTime) / 100, 10) / 10) + "秒"                    + ")&lt;" + "br/&gt;"            );            elem.remove();            checkStop();        },        wordTestTwitch001FuncExecute = function(){            var topTmp, leftTmp, accel = Math.pow(8 * cnt / loopCount, 2) / 8;            if (stopFlag)            {                wordTestTwitch001FuncStop();                return;            }            if (++cnt &gt; loopCount)            {                wordTestTwitch001FuncTimeOver();                return;            }            top += randFunc(0.1 + accel);            left += randFunc(0.1 + accel);            fontSize += randFunc(0.1 + accel);            red += randFunc(10 + accel);            green += randFunc(10 + accel);            blue += randFunc(10 + accel);            fontSize = Math.max(1, Math.min(100, fontSize));            red = Math.max(0, Math.min(255, red));            green = Math.max(0, Math.min(255, green));            blue = Math.max(0, Math.min(255, blue));            elem.css("font-size", Math.round(fontSize) + "px")                .css("color", "rgb(" + Math.round(red) + "," + Math.round(green) + "," + Math.round(blue) + ")");            topTmp = Math.max(tableTop, Math.min(tableBottom - elem.outerHeight(), top));            leftTmp = Math.max(tableLeft, Math.min(tableRight - elem.outerWidth(), left));            if (top != topTmp || left != leftTmp)            {                wordTestTwitch001FuncArrival();                return;            }            elem.css("top", Math.round(top) + "px").css("left", Math.round(left) + "px");            setTimeout(wordTestTwitch001FuncExecute, 100);        },        startFunc = function(){            $(tableElem).unbind("click", startFunc);            setTimeout(wordTestTwitch001FuncExecute, 0);            $(tableElem).click(stopFunc);        },        stopFunc = function(){            $(tableElem).unbind("click", stopFunc);            stopFlag = true;        };        $(tableElem).click(startFunc);        processCount++;    });    $(tableElem).css("cursor", "pointer");})();}catch(e){window.document.write("&lt;"+"pre&gt;Error: " + e + "&lt;"+"/pre&gt;");}//--&gt;]]&gt;&lt;/script&gt;&lt;br /&gt;ソース。&lt;br /&gt;&lt;pre&gt;&amp;lt;table id=&amp;quot;wordTestTwitch001&amp;quot; style=&amp;quot;border-collapse: collapse; padding: 0pt; width: 112px; height: 112px; text-align: center; vertical-align: middle; background-color: rgb(255, 255, 255); color: rgb(127, 127, 127); border: 1px solid rgb(24, 24, 24); margin: 0pt auto 14px auto; font-size: 14px; font-family: monospace;&amp;quot;&amp;gt;&amp;lt;tbody&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;div&amp;gt;sample&amp;lt;/div&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/tbody&amp;gt;&amp;lt;/table&amp;gt;&amp;lt;div style=&amp;quot;font-family: monospace; font-size: 14px; margin: 0pt 0pt 0pt 14px; padding: 0pt;&amp;quot; id=&amp;quot;wordTestTwitch001Result&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;//&amp;lt;![CDATA[&amp;lt;!--&lt;br /&gt;try{(function(){&lt;br /&gt;    var tableElem = document.getElementById(&amp;quot;wordTestTwitch001&amp;quot;),&lt;br /&gt;    resultElem = document.getElementById(&amp;quot;wordTestTwitch001Result&amp;quot;),&lt;br /&gt;    mainTop = (function(){&lt;br /&gt;        return $(&amp;quot;#main&amp;quot;).offset().top + parseInt($(&amp;quot;#main&amp;quot;).css(&amp;quot;padding-top&amp;quot;), 10);&lt;br /&gt;    })(),&lt;br /&gt;    mainLeft = (function(){&lt;br /&gt;        return $(&amp;quot;#main&amp;quot;).offset().left + parseInt($(&amp;quot;#main&amp;quot;).css(&amp;quot;padding-left&amp;quot;), 10);&lt;br /&gt;    })(),&lt;br /&gt;    tableTop = $(tableElem).offset().top - mainTop,&lt;br /&gt;    tableLeft = $(tableElem).offset().left - mainLeft,&lt;br /&gt;    tableBottom = tableTop + $(tableElem).outerHeight(),&lt;br /&gt;    tableRight = tableLeft + $(tableElem).outerWidth(),&lt;br /&gt;    orderCount = 0,&lt;br /&gt;    randFunc = function(division){&lt;br /&gt;        return ((Math.random() * 2) - 1) * division;&lt;br /&gt;    },&lt;br /&gt;    processCount = 0,&lt;br /&gt;    checkStop = function(){&lt;br /&gt;        processCount--;&lt;br /&gt;        if (processCount &amp;lt;= 0)&lt;br /&gt;        {&lt;br /&gt;            $(tableElem).unbind(&amp;quot;click&amp;quot;);&lt;br /&gt;            $(tableElem).css(&amp;quot;cursor&amp;quot;, &amp;quot;default&amp;quot;);&lt;br /&gt;        }&lt;br /&gt;    },&lt;br /&gt;    loopCount = 600,&lt;br /&gt;    startTime = new Date().getTime();&lt;br /&gt;    $(&amp;quot;#wordTestTwitch001, #wordTestTwitch001 *&amp;quot;).each(function(){&lt;br /&gt;        if (!$(this).html().match(/&amp;lt;/))&lt;br /&gt;        {&lt;br /&gt;            $(this).html($(this).text().replace(/(.)/g, function(){&lt;br /&gt;                return &amp;quot;&amp;lt;&amp;quot; + &amp;quot;span class='wordTestTwitch001Class'&amp;gt;&amp;quot; + arguments[1] + &amp;quot;&amp;lt;&amp;quot; + &amp;quot;/span&amp;gt;&amp;quot;;&lt;br /&gt;            }));&lt;br /&gt;        }&lt;br /&gt;    }).find(&amp;quot;.wordTestTwitch001Class&amp;quot;).each(function(){&lt;br /&gt;        $(this)&lt;br /&gt;            .css(&amp;quot;top&amp;quot;, $(this).offset().top - mainTop)&lt;br /&gt;            .css(&amp;quot;left&amp;quot;, $(this).offset().left - mainLeft);&lt;br /&gt;    }).each(function(){&lt;br /&gt;        $(this).css(&amp;quot;position&amp;quot;, &amp;quot;absolute&amp;quot;);&lt;br /&gt;        var cnt = 0,&lt;br /&gt;        elem = $(this),&lt;br /&gt;        top = parseFloat(elem.css(&amp;quot;top&amp;quot;)),&lt;br /&gt;        left = parseFloat(elem.css(&amp;quot;left&amp;quot;)),&lt;br /&gt;        fontSize = parseFloat(elem.css(&amp;quot;font-size&amp;quot;)),&lt;br /&gt;        red = 127.5,&lt;br /&gt;        green = 127.5,&lt;br /&gt;        blue = 127.5,&lt;br /&gt;        stopFlag = false,&lt;br /&gt;        wordTestTwitch001FuncStop = function(){&lt;br /&gt;            elem.remove();&lt;br /&gt;            checkStop();&lt;br /&gt;            if (processCount &amp;lt;= 0)&lt;br /&gt;            {&lt;br /&gt;                $(resultElem).append(&amp;quot;ストップ&amp;lt;&amp;quot; + &amp;quot;br/&amp;gt;&amp;quot;);&lt;br /&gt;            }&lt;br /&gt;        },&lt;br /&gt;        wordTestTwitch001FuncTimeOver = function(){&lt;br /&gt;            $(resultElem).append(&amp;quot;時間切れ: &amp;quot; + elem.text() + &amp;quot;&amp;lt;&amp;quot; + &amp;quot;br/&amp;gt;&amp;quot;);&lt;br /&gt;            elem.remove();&lt;br /&gt;            checkStop();&lt;br /&gt;        },&lt;br /&gt;        wordTestTwitch001FuncArrival = function(){&lt;br /&gt;            ++orderCount;&lt;br /&gt;            $(resultElem).append(&lt;br /&gt;                (String(orderCount).length == 1 ? &amp;quot;&amp;amp;nbsp;&amp;quot; : &amp;quot;&amp;quot;) + orderCount + &amp;quot;位: &amp;quot; + elem.text()&lt;br /&gt;                    + &amp;quot; (font-size:&amp;quot; + (String(fontSize).length == 1 ? &amp;quot;&amp;amp;nbsp;&amp;quot; : &amp;quot;&amp;quot;) + Math.round(fontSize) + &amp;quot;px&amp;quot;&lt;br /&gt;                    + &amp;quot; color:&amp;lt;&amp;quot; + &amp;quot;span style='color: rgb(&amp;quot;&lt;br /&gt;                    + Math.round(red) + &amp;quot;,&amp;quot; + Math.round(green) + &amp;quot;,&amp;quot; + Math.round(blue) + &amp;quot;);&amp;quot;&lt;br /&gt;                    + &amp;quot; font-family: monospace; font-size: 14px;'&amp;gt;■&amp;lt;&amp;quot; + &amp;quot;/span&amp;gt;&amp;quot;&lt;br /&gt;                    + &amp;quot; time:&amp;quot; + (parseInt(((new Date().getTime()) - startTime) / 100, 10) / 10) + &amp;quot;秒&amp;quot;&lt;br /&gt;                    + &amp;quot;)&amp;lt;&amp;quot; + &amp;quot;br/&amp;gt;&amp;quot;&lt;br /&gt;            );&lt;br /&gt;            elem.remove();&lt;br /&gt;            checkStop();&lt;br /&gt;        },&lt;br /&gt;        wordTestTwitch001FuncExecute = function(){&lt;br /&gt;            var topTmp, leftTmp, accel = Math.pow(8 * cnt / loopCount, 2) / 8;&lt;br /&gt;            if (stopFlag)&lt;br /&gt;            {&lt;br /&gt;                wordTestTwitch001FuncStop();&lt;br /&gt;                return;&lt;br /&gt;            }&lt;br /&gt;            if (++cnt &amp;gt; loopCount)&lt;br /&gt;            {&lt;br /&gt;                wordTestTwitch001FuncTimeOver();&lt;br /&gt;                return;&lt;br /&gt;            }&lt;br /&gt;            top += randFunc(0.1 + accel);&lt;br /&gt;            left += randFunc(0.1 + accel);&lt;br /&gt;            fontSize += randFunc(0.1 + accel);&lt;br /&gt;            red += randFunc(10 + accel);&lt;br /&gt;            green += randFunc(10 + accel);&lt;br /&gt;            blue += randFunc(10 + accel);&lt;br /&gt;            fontSize = Math.max(1, Math.min(100, fontSize));&lt;br /&gt;            red = Math.max(0, Math.min(255, red));&lt;br /&gt;            green = Math.max(0, Math.min(255, green));&lt;br /&gt;            blue = Math.max(0, Math.min(255, blue));&lt;br /&gt;            elem.css(&amp;quot;font-size&amp;quot;, Math.round(fontSize) + &amp;quot;px&amp;quot;)&lt;br /&gt;                .css(&amp;quot;color&amp;quot;, &amp;quot;rgb(&amp;quot; + Math.round(red) + &amp;quot;,&amp;quot; + Math.round(green) + &amp;quot;,&amp;quot; + Math.round(blue) + &amp;quot;)&amp;quot;);&lt;br /&gt;            topTmp = Math.max(tableTop, Math.min(tableBottom - elem.outerHeight(), top));&lt;br /&gt;            leftTmp = Math.max(tableLeft, Math.min(tableRight - elem.outerWidth(), left));&lt;br /&gt;            if (top != topTmp || left != leftTmp)&lt;br /&gt;            {&lt;br /&gt;                wordTestTwitch001FuncArrival();&lt;br /&gt;                return;&lt;br /&gt;            }&lt;br /&gt;            elem.css(&amp;quot;top&amp;quot;, Math.round(top) + &amp;quot;px&amp;quot;).css(&amp;quot;left&amp;quot;, Math.round(left) + &amp;quot;px&amp;quot;);&lt;br /&gt;            setTimeout(wordTestTwitch001FuncExecute, 100);&lt;br /&gt;        },&lt;br /&gt;        startFunc = function(){&lt;br /&gt;            $(tableElem).unbind(&amp;quot;click&amp;quot;, startFunc);&lt;br /&gt;            setTimeout(wordTestTwitch001FuncExecute, 0);&lt;br /&gt;            $(tableElem).click(stopFunc);&lt;br /&gt;        },&lt;br /&gt;        stopFunc = function(){&lt;br /&gt;            $(tableElem).unbind(&amp;quot;click&amp;quot;, stopFunc);&lt;br /&gt;            stopFlag = true;&lt;br /&gt;        };&lt;br /&gt;        $(tableElem).click(startFunc);&lt;br /&gt;        processCount++;&lt;br /&gt;    });&lt;br /&gt;    $(tableElem).css(&amp;quot;cursor&amp;quot;, &amp;quot;pointer&amp;quot;);&lt;br /&gt;})();}catch(e){window.document.write(&amp;quot;&amp;lt;&amp;quot;+&amp;quot;pre&amp;gt;Error: &amp;quot; + e + &amp;quot;&amp;lt;&amp;quot;+&amp;quot;/pre&amp;gt;&amp;quot;);}&lt;br /&gt;//--&amp;gt;]]&amp;gt;&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;/pre&gt;&lt;br /&gt;説明。&lt;br /&gt;グローバルオブジェクト(関数)として下記を使用しています。&lt;br /&gt;&lt;pre&gt;$, Date, Math, String, arguments, document, parseFloat, parseInt, setTimeout, window&lt;/pre&gt;これらはwindow以外window.を省略しています。(window.$, window.Date など)&lt;br /&gt;&lt;br /&gt;setTimeoutはwordTestTwitch001FuncExecuteを呼び出すのに利用しています。&lt;br /&gt;ソースの最後の方の、&lt;br /&gt;&lt;pre&gt;setTimeout(wordTestTwitch001FuncExecute, 100);&lt;br /&gt;...&lt;br /&gt;        $(tableElem).click(startFunc);&lt;/pre&gt;の、&lt;br /&gt;&lt;pre&gt;$(tableElem).click(startFunc);&lt;/pre&gt;でクリック時に、&lt;br /&gt;&lt;pre&gt;setTimeout(wordTestTwitch001FuncExecute, 0);&lt;/pre&gt;を読んでいます。(すぐに実行する。)&lt;br /&gt;wordTestTwitch001FuncExecuteの中で自身を再実行しています。&lt;br /&gt;&lt;pre&gt;setTimeout(wordTestTwitch001FuncExecute, 100);&lt;/pre&gt;100ミリ秒(0.1秒)後に実行する。&lt;br /&gt;テストする場合"#main"を"body"などに変更して下さい。&lt;br /&gt;jqueryは1.6.4です。&lt;br /&gt;このサンプルが重いのはsetTimeoutのせいではなく動かす中身が重いためです。&lt;br /&gt;アニメーションさせるには&lt;a href="http://semooh.jp/jquery/api/effects/animate/params,+%5Bduration%5D,+%5Beasing%5D,+%5Bcallback%5D/"&gt;animate&lt;/a&gt;がお勧めです。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6143936844695013686-3416000784890839141?l=insnvlovn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://insnvlovn.blogspot.com/feeds/3416000784890839141/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6143936844695013686&amp;postID=3416000784890839141' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/3416000784890839141'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/3416000784890839141'/><link rel='alternate' type='text/html' href='http://insnvlovn.blogspot.com/2011/10/javascriptsettimeout.html' title='javascriptのsetTimeout'/><author><name>insn</name><uri>http://www.blogger.com/profile/05196582005861324185</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6143936844695013686.post-9192234717702850383</id><published>2011-10-18T04:02:00.000+09:00</published><updated>2011-10-18T04:02:38.309+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gentoo'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>カーネルのコンパイルのオプション</title><content type='html'>メモ: カーネルのコンパイルのオプション。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;make ARCH=i386 KCFLAGS="-march=prescott --param l1-cache-size=16 --param l1-cache-line-size=64 --param l2-cache-size=1024 -mtune=prescott -fomit-frame-pointer -Os" -j4 vmlinux \&lt;br /&gt;&amp;&amp; \&lt;br /&gt;make ARCH=i386 KCFLAGS="-march=prescott --param l1-cache-size=16 --param l1-cache-line-size=64 --param l2-cache-size=1024 -mtune=prescott -fomit-frame-pointer -Os" -j4 modules \&lt;br /&gt;&amp;&amp; \&lt;br /&gt;make ARCH=i386 KCFLAGS="-march=prescott --param l1-cache-size=16 --param l1-cache-line-size=64 --param l2-cache-size=1024 -mtune=prescott -fomit-frame-pointer -Os" -j4 modules_install&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;$ uname -a&lt;br /&gt;Linux cogentoo-1 2.6.33.7-co-0.7.9 #3 PREEMPT Tue Oct 18 03:19:22 JST 2011 i686 Intel(R) Pentium(R) 4 CPU 3.00GHz GenuineIntel GNU/Linux&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;$ cat /proc/cpuinfo | grep "^model name"&lt;br /&gt;model name      : Intel(R) Pentium(R) 4 CPU 3.00GHz&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;$ ll -h /usr/src/linux/vmlinux&lt;br /&gt;-rwxr-xr-x 1 root root 3.8M 2011-10-18 03:19:34 /usr/src/linux/vmlinux*&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;$ diff -u /usr/src/linux/.config.old /usr/src/linux/.config&lt;br /&gt;--- /usr/src/linux/.config.old  2011-05-15 22:59:26.996442011 +0900&lt;br /&gt;+++ /usr/src/linux/.config      2011-10-17 21:49:42.115264950 +0900&lt;br /&gt;@@ -1,7 +1,7 @@&lt;br /&gt; #&lt;br /&gt; # Automatically generated make config: don't edit&lt;br /&gt; # Linux kernel version: 2.6.33.7&lt;br /&gt;-# Sun May 15 22:59:26 2011&lt;br /&gt;+# Mon Oct 17 21:49:42 2011&lt;br /&gt; #&lt;br /&gt; # CONFIG_64BIT is not set&lt;br /&gt; CONFIG_X86_32=y&lt;br /&gt;@@ -169,7 +169,7 @@&lt;br /&gt; # CONFIG_MODULE_SRCVERSION_ALL is not set&lt;br /&gt; CONFIG_BLOCK=y&lt;br /&gt; CONFIG_LBDAF=y&lt;br /&gt;-# CONFIG_BLK_DEV_BSG is not set&lt;br /&gt;+CONFIG_BLK_DEV_BSG=y&lt;br /&gt; # CONFIG_BLK_DEV_INTEGRITY is not set&lt;br /&gt;&lt;br /&gt; #&lt;br /&gt;@@ -692,6 +692,7 @@&lt;br /&gt; # CONFIG_SCSI_SPI_ATTRS is not set&lt;br /&gt; # CONFIG_SCSI_FC_ATTRS is not set&lt;br /&gt; CONFIG_SCSI_ISCSI_ATTRS=m&lt;br /&gt;+# CONFIG_SCSI_SAS_ATTRS is not set&lt;br /&gt; # CONFIG_SCSI_SAS_LIBSAS is not set&lt;br /&gt; # CONFIG_SCSI_SRP_ATTRS is not set&lt;br /&gt; CONFIG_SCSI_LOWLEVEL=y&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6143936844695013686-9192234717702850383?l=insnvlovn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://insnvlovn.blogspot.com/feeds/9192234717702850383/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6143936844695013686&amp;postID=9192234717702850383' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/9192234717702850383'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/9192234717702850383'/><link rel='alternate' type='text/html' href='http://insnvlovn.blogspot.com/2011/10/blog-post.html' title='カーネルのコンパイルのオプション'/><author><name>insn</name><uri>http://www.blogger.com/profile/05196582005861324185</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6143936844695013686.post-7072044533686871028</id><published>2011-10-14T15:42:00.001+09:00</published><updated>2011-10-14T15:43:59.414+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='html'/><title type='text'>aタグのtargetの補足</title><content type='html'>フレームではないがターゲットをトップにした場合、&lt;br /&gt;&lt;pre&gt;&amp;lt;a target="_top" href="#xxx"&amp;gt;xxx&amp;lt;/a&amp;gt;&lt;/pre&gt;IE系などのブラウザで同じページでもリロードする場合があります。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6143936844695013686-7072044533686871028?l=insnvlovn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://insnvlovn.blogspot.com/feeds/7072044533686871028/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6143936844695013686&amp;postID=7072044533686871028' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/7072044533686871028'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/7072044533686871028'/><link rel='alternate' type='text/html' href='http://insnvlovn.blogspot.com/2011/10/atarget.html' title='aタグのtargetの補足'/><author><name>insn</name><uri>http://www.blogger.com/profile/05196582005861324185</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6143936844695013686.post-193314206894352040</id><published>2011-10-13T06:44:00.010+09:00</published><updated>2011-11-05T23:53:45.592+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='css'/><title type='text'>jqueryのbind以外でclickに引数をもたせる</title><content type='html'>参考URL。&lt;br /&gt;&lt;a href="http://www.tinybeans.net/blog/2009/02/19-134819.html"&gt;http://www.tinybeans.net/blog/2009/02/19-134819.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://semooh.jp/jquery/api/events/bind/type,+%5Bdata%5D,+fn/"&gt;http://semooh.jp/jquery/api/events/bind/type,+%5Bdata%5D,+fn/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;jqueryのbind以外でclickに引数をもたせる。&lt;br /&gt;&lt;pre&gt;&lt;s&gt;$(xxx).click((function(key){return function(){&lt;br /&gt;    ...&lt;br /&gt;};})(key));&lt;/s&gt;&lt;/pre&gt;追記: ループの中で使うと遅くなりそうなのでbind("click" ...)の方が良いです。&lt;br /&gt;&lt;br /&gt;例。&lt;br /&gt;&lt;style type="text/css"&gt;&lt;!--body #click-test-ap8cljwu, body #click-test-ap8cljwu * {background-color: white;border-width: 0;color: black;font-family: "ＭＳ ゴシック","Osaka-mono",monospace;font-size: 14px;font-style: normal;font-variant: normal;font-weight: normal;letter-spacing: 0;line-height: 14px;margin: 0;padding: 0;text-align: center;text-indent: 0;text-transform: none;white-space: nowrap;word-spacing: 0;word-wrap: normal;}body #click-test-ap8cljwu {margin: 0 auto;width: 336px;}body #click-test-ap8cljwu .click-test-ap8cljwu-list {height: 21px;margin-left: 7px;text-align: left;}body #click-test-ap8cljwu .click-test-ap8cljwu-list ul {background-color: transparent;position: absolute;}body #click-test-ap8cljwu .click-test-ap8cljwu-list li {display: block;float: left;margin-right: 7px;_width: 1px;}body #click-test-ap8cljwu .click-test-ap8cljwu-list a {background-color: #D3D3D3;border: 1px solid black;cursor: pointer;display: block;height: 14px;line-height: 14px;padding: 3px 7px;text-decoration: none;}body #click-test-ap8cljwu .click-test-ap8cljwu-list a.selected {background-color: white;border: 1px solid black;border-bottom-color: white;}body #click-test-ap8cljwu .click-test-ap8cljwu-result {border: 1px solid black;clear: both;height: 280px;overflow: auto;padding: 7px;text-align: left;}body #click-test-ap8cljwu .click-test-ap8cljwu-list ul {border-bottom-width: 0;list-style-type: none;margin: 0;padding: 0;}body #click-test-ap8cljwu .click-test-ap8cljwu-list ul li {border-top-width: 0;float: left;line-height: 14px;margin-top: 0;padding: 0;}--&gt;&lt;/style&gt;&lt;br /&gt;&lt;div id="click-test-ap8cljwu"&gt;&lt;/div&gt;&lt;script type="text/javascript"&gt;//&lt;![CDATA[&lt;!--try{(function(){var key, aElem, liElem,id = "click-test-ap8cljwu",list = {"one": ["ホーム", "1番", "ファースト"],"two": ["お知らせ", "2番", "セカンド"],"three": ["お問い合せ", "3番", "サード"]},listElem = document.createElement("div"),ulElem = document.createElement("ul"),resultElem = document.createElement("div");$(listElem).addClass(id + "-list");$(resultElem).addClass(id + "-result");$("#" + id).append(listElem);$(listElem).append(ulElem);$("#" + id).append(resultElem);for (key in list){liElem = document.createElement("li");aElem = document.createElement("a");$(liElem).append(aElem);$(aElem).text(list[key][0]);$(aElem).click((function(key){return function(){var x;$("#" + id + " ." + id + "-list a").removeClass("selected");$(resultElem).text("");$(resultElem).append("key = " + key + "&lt;" + "br/&gt;");for (x = 0; x &lt; list[key].length; x++){$(this).addClass("selected");$(resultElem).append("list[" + key + "][" + x + "] = " + list[key][x] + "&lt;" + "br/&gt;");}};})(key));$(ulElem).append(liElem);$("#" + id + " ." + id + "-list a").each(function(){$(this).click();return false;});}})();}catch(e){document.write("&lt;"+"pre&gt;Error: " + e + "&lt;"+"/pre&gt;");}//--&gt;]]&gt;&lt;/script&gt;&lt;br /&gt;ソース。&lt;br /&gt;&lt;pre&gt;&amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&lt;br /&gt;&amp;lt;!--&lt;br /&gt;body #click-test-ap8cljwu, body #click-test-ap8cljwu * {&lt;br /&gt;  background-color: white;&lt;br /&gt;  border-width: 0;&lt;br /&gt;  color: black;&lt;br /&gt;  font-family: &amp;quot;ＭＳ ゴシック&amp;quot;,&amp;quot;Osaka-mono&amp;quot;,monospace;&lt;br /&gt;  font-size: 14px;&lt;br /&gt;  font-style: normal;&lt;br /&gt;  font-variant: normal;&lt;br /&gt;  font-weight: normal;&lt;br /&gt;  letter-spacing: 0;&lt;br /&gt;  line-height: 14px;&lt;br /&gt;  margin: 0;&lt;br /&gt;  padding: 0;&lt;br /&gt;  text-align: center;&lt;br /&gt;  text-indent: 0;&lt;br /&gt;  text-transform: none;&lt;br /&gt;  white-space: nowrap;&lt;br /&gt;  word-spacing: 0;&lt;br /&gt;  word-wrap: normal;&lt;br /&gt;}&lt;br /&gt;body #click-test-ap8cljwu {&lt;br /&gt;  margin: 0 auto;&lt;br /&gt;  width: 336px;&lt;br /&gt;}&lt;br /&gt;body #click-test-ap8cljwu .click-test-ap8cljwu-list {&lt;br /&gt;  height: 21px;&lt;br /&gt;  margin-left: 7px;&lt;br /&gt;  text-align: left;&lt;br /&gt;}&lt;br /&gt;body #click-test-ap8cljwu .click-test-ap8cljwu-list ul {&lt;br /&gt;  background-color: transparent;&lt;br /&gt;  position: absolute;&lt;br /&gt;}&lt;br /&gt;body #click-test-ap8cljwu .click-test-ap8cljwu-list li {&lt;br /&gt;  display: block;&lt;br /&gt;  float: left;&lt;br /&gt;  margin-right: 7px;&lt;br /&gt;  _width: 1px;&lt;br /&gt;}&lt;br /&gt;body #click-test-ap8cljwu .click-test-ap8cljwu-list a {&lt;br /&gt;  background-color: #D3D3D3;&lt;br /&gt;  border: 1px solid black;&lt;br /&gt;  cursor: pointer;&lt;br /&gt;  display: block;&lt;br /&gt;  height: 14px;&lt;br /&gt;  line-height: 14px;&lt;br /&gt;  padding: 3px 7px;&lt;br /&gt;}&lt;br /&gt;body #click-test-ap8cljwu .click-test-ap8cljwu-list a.selected {&lt;br /&gt;  background-color: white;&lt;br /&gt;  border: 1px solid black;&lt;br /&gt;  border-bottom-color: white;&lt;br /&gt;}&lt;br /&gt;body #click-test-ap8cljwu .click-test-ap8cljwu-result {&lt;br /&gt;  border: 1px solid black;&lt;br /&gt;  clear: both;&lt;br /&gt;  height: 280px;&lt;br /&gt;  overflow: auto;&lt;br /&gt;  padding: 7px;&lt;br /&gt;  text-align: left;&lt;br /&gt;}&lt;br /&gt;body #click-test-ap8cljwu .click-test-ap8cljwu-list ul {&lt;br /&gt;  border-bottom-width: 0;&lt;br /&gt;  list-style-type: none;&lt;br /&gt;  margin: 0;&lt;br /&gt;  padding: 0;&lt;br /&gt;}&lt;br /&gt;body #click-test-ap8cljwu .click-test-ap8cljwu-list ul li {&lt;br /&gt;  border-top-width: 0;&lt;br /&gt;  float: left;&lt;br /&gt;  line-height: 14px;&lt;br /&gt;  margin-top: 0;&lt;br /&gt;  padding: 0;&lt;br /&gt;}&lt;br /&gt;--&amp;gt;&lt;br /&gt;&amp;lt;/style&amp;gt;&lt;br /&gt;&amp;lt;div id=&amp;quot;click-test-ap8cljwu&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;//&amp;lt;![CDATA[&amp;lt;!--&lt;br /&gt;try{(function(){&lt;br /&gt;    var key, aElem, liElem,&lt;br /&gt;    id = &amp;quot;click-test-ap8cljwu&amp;quot;,&lt;br /&gt;    list = {&lt;br /&gt;        &amp;quot;one&amp;quot;: [&amp;quot;ホーム&amp;quot;, &amp;quot;1番&amp;quot;, &amp;quot;ファースト&amp;quot;],&lt;br /&gt;        &amp;quot;two&amp;quot;: [&amp;quot;お知らせ&amp;quot;, &amp;quot;2番&amp;quot;, &amp;quot;セカンド&amp;quot;],&lt;br /&gt;        &amp;quot;three&amp;quot;: [&amp;quot;お問い合せ&amp;quot;, &amp;quot;3番&amp;quot;, &amp;quot;サード&amp;quot;]&lt;br /&gt;    },&lt;br /&gt;    listElem = document.createElement(&amp;quot;div&amp;quot;),&lt;br /&gt;    ulElem = document.createElement(&amp;quot;ul&amp;quot;),&lt;br /&gt;    resultElem = document.createElement(&amp;quot;div&amp;quot;);&lt;br /&gt;    $(listElem).addClass(id + &amp;quot;-list&amp;quot;);&lt;br /&gt;    $(resultElem).addClass(id + &amp;quot;-result&amp;quot;);&lt;br /&gt;    $(&amp;quot;#&amp;quot; + id).append(listElem);&lt;br /&gt;    $(listElem).append(ulElem);&lt;br /&gt;    $(&amp;quot;#&amp;quot; + id).append(resultElem);&lt;br /&gt;    for (key in list)&lt;br /&gt;    {&lt;br /&gt;        liElem = document.createElement(&amp;quot;li&amp;quot;);&lt;br /&gt;        aElem = document.createElement(&amp;quot;a&amp;quot;);&lt;br /&gt;        $(liElem).append(aElem);&lt;br /&gt;        $(aElem).text(list[key][0]);&lt;br /&gt;        $(aElem).click((function(key){return function(){&lt;br /&gt;            var x;&lt;br /&gt;            $(&amp;quot;#&amp;quot; + id + &amp;quot; .&amp;quot; + id + &amp;quot;-list a&amp;quot;).removeClass(&amp;quot;selected&amp;quot;);&lt;br /&gt;            $(resultElem).text(&amp;quot;&amp;quot;);&lt;br /&gt;            $(resultElem).append(&amp;quot;key = &amp;quot; + key + &amp;quot;&amp;lt;&amp;quot; + &amp;quot;br/&amp;gt;&amp;quot;);&lt;br /&gt;            for (x = 0; x &amp;lt; list[key].length; x++)&lt;br /&gt;            {&lt;br /&gt;                $(this).addClass(&amp;quot;selected&amp;quot;);&lt;br /&gt;                $(resultElem).append(&amp;quot;list[&amp;quot; + key + &amp;quot;][&amp;quot; + x + &amp;quot;] = &amp;quot; + list[key][x] + &amp;quot;&amp;lt;&amp;quot; + &amp;quot;br/&amp;gt;&amp;quot;);&lt;br /&gt;            }&lt;br /&gt;        };})(key));&lt;br /&gt;        $(ulElem).append(liElem);&lt;br /&gt;        $(&amp;quot;#&amp;quot; + id + &amp;quot; .&amp;quot; + id + &amp;quot;-list a&amp;quot;).each(function(){&lt;br /&gt;            $(this).click();&lt;br /&gt;            return false;&lt;br /&gt;        });&lt;br /&gt;    }&lt;br /&gt;})();}catch(e){document.write(&amp;quot;&amp;lt;&amp;quot;+&amp;quot;pre&amp;gt;Error: &amp;quot; + e + &amp;quot;&amp;lt;&amp;quot;+&amp;quot;/pre&amp;gt;&amp;quot;);}&lt;br /&gt;//--&amp;gt;]]&amp;gt;&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6143936844695013686-193314206894352040?l=insnvlovn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://insnvlovn.blogspot.com/feeds/193314206894352040/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6143936844695013686&amp;postID=193314206894352040' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/193314206894352040'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/193314206894352040'/><link rel='alternate' type='text/html' href='http://insnvlovn.blogspot.com/2011/10/jquerybindclick.html' title='jqueryのbind以外でclickに引数をもたせる'/><author><name>insn</name><uri>http://www.blogger.com/profile/05196582005861324185</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6143936844695013686.post-899571094517889240</id><published>2011-10-12T04:17:00.003+09:00</published><updated>2011-10-12T22:21:54.584+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><title type='text'>IE8のmin-width</title><content type='html'>&lt;a href="http://msdn.microsoft.com/ja-jp/library/cc288325%28v=vs.85%29.aspx#content_%E5%B1%9E%E6%80%A7%E5%80%A4%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6"&gt;http://msdn.microsoft.com/ja-jp/library/cc288325%28v=vs.85%29.aspx#content_%E5%B1%9E%E6%80%A7%E5%80%A4%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;IETester v0.4.11でmin-widthが動くがwindowsXPのIE8では動かないので設定を追加した。&lt;br /&gt;IE6,IE7では別の設定が必要です。&lt;br /&gt;&lt;pre&gt;&amp;lt;meta content='IE=100' http-equiv='X-UA-Compatible'/&amp;gt;&lt;/pre&gt;&lt;br /&gt;例。&lt;br /&gt;&lt;pre&gt;&amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&lt;br /&gt;&amp;lt;!--&lt;br /&gt;#ie8test-c9d637d9b63df117874a716164fb5f99, #ie8test-c9d637d9b63df117874a716164fb5f99 * {&lt;br /&gt;  font-size: 16px;&lt;br /&gt;}&lt;br /&gt;#ie8test-c9d637d9b63df117874a716164fb5f99 ul {&lt;br /&gt;  list-style-type: none;&lt;br /&gt;  width: 250px;&lt;br /&gt;}&lt;br /&gt;#ie8test-c9d637d9b63df117874a716164fb5f99 ul li {&lt;br /&gt;  float: left;&lt;br /&gt;  min-width: 120px;&lt;br /&gt;}&lt;br /&gt;#ie8test-c9d637d9b63df117874a716164fb5f99 ul li span {&lt;br /&gt;  margin-right: 0.8em;&lt;br /&gt;}&lt;br /&gt;--&amp;gt;&lt;br /&gt;&amp;lt;/style&amp;gt;&lt;br /&gt;&amp;lt;div id=&amp;quot;ie8test-c9d637d9b63df117874a716164fb5f99&amp;quot;&amp;gt;&lt;br /&gt; &amp;lt;ul&amp;gt;&lt;br /&gt;  &amp;lt;li&amp;gt;&amp;lt;a&amp;gt;タイトル&amp;lt;/a&amp;gt; &amp;lt;span&amp;gt;(1)&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;  &amp;lt;li&amp;gt;&amp;lt;a&amp;gt;タイトル&amp;lt;/a&amp;gt; &amp;lt;span&amp;gt;(1)&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;  &amp;lt;li&amp;gt;&amp;lt;a&amp;gt;タイトル&amp;lt;/a&amp;gt; &amp;lt;span&amp;gt;(1)&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;  &amp;lt;li&amp;gt;&amp;lt;a&amp;gt;タイトルタイトル&amp;lt;/a&amp;gt; &amp;lt;span&amp;gt;(1)&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;  &amp;lt;li&amp;gt;&amp;lt;a&amp;gt;タイトルタイトルタイトル&amp;lt;/a&amp;gt; &amp;lt;span&amp;gt;(1)&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;  &amp;lt;li&amp;gt;&amp;lt;a&amp;gt;タイト&amp;lt;/a&amp;gt; &amp;lt;span&amp;gt;(1)&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;  &amp;lt;li&amp;gt;&amp;lt;a&amp;gt;タイ&amp;lt;/a&amp;gt; &amp;lt;span&amp;gt;(1)&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;  &amp;lt;li&amp;gt;&amp;lt;a&amp;gt;タ&amp;lt;/a&amp;gt; &amp;lt;span&amp;gt;(1)&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt; &amp;lt;/ul&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;br clear=&amp;quot;all&amp;quot; style=&amp;quot;clear: both;&amp;quot; /&amp;gt;&lt;/pre&gt;&lt;br /&gt;追記。例。IE7以下のブラウザで違うcssを適用する場合。&lt;br /&gt;&lt;pre&gt;@@ -976,6 +976,20 @@&lt;br /&gt;&lt;br /&gt; ]]&amp;gt;&amp;lt;/b:skin&amp;gt;&lt;br /&gt;&lt;br /&gt;+&amp;lt;!--[if lte IE 7]&amp;gt;&lt;br /&gt;+&amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&lt;br /&gt;+#sidebar .Label ul li {&lt;br /&gt;+  display : block;&lt;br /&gt;+  float   : left;&lt;br /&gt;+  width   : 125px;&lt;br /&gt;+}&lt;br /&gt;+#sidebar .Label ul li span {&lt;br /&gt;+  margin-right : 0;&lt;br /&gt;+  white-space  : nowrap;&lt;br /&gt;+}&lt;br /&gt;+&amp;lt;/style&amp;gt;&lt;br /&gt;+&amp;lt;![endif]--&amp;gt;&lt;br /&gt;+&lt;br /&gt; &amp;lt;script src='http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js' type='text/javascript'/&amp;gt;&lt;br /&gt; &amp;lt;script type='text/javascript'&amp;gt;&lt;br /&gt; //&amp;lt;![CDATA[&amp;lt;!--&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6143936844695013686-899571094517889240?l=insnvlovn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://insnvlovn.blogspot.com/feeds/899571094517889240/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6143936844695013686&amp;postID=899571094517889240' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/899571094517889240'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/899571094517889240'/><link rel='alternate' type='text/html' href='http://insnvlovn.blogspot.com/2011/10/ie8min-width.html' title='IE8のmin-width'/><author><name>insn</name><uri>http://www.blogger.com/profile/05196582005861324185</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6143936844695013686.post-182099061006991913</id><published>2011-10-08T05:55:00.010+09:00</published><updated>2011-10-22T19:38:45.056+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><title type='text'>javascriptのfocus part2</title><content type='html'>&lt;input class="gsc-input" type="text" value="フォーカス" style="width: 8em; border: 1px solid gray; margin: 0; padding: 0.5em;" readonly="readonly"&gt;&lt;/input&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="#sidebar" onclick="javascript:try{(function(){    setTimeout(function(){        $('input.gsc-input').each(function(){            $(this).focus();            return false;        });    },170);})();}catch(e){}"&gt;sidebar (1)&lt;/a&gt;&lt;br /&gt;サイドバーに移動。&lt;strong&gt;「フォーカス」&lt;/strong&gt;にフォーカスする。&lt;br /&gt;&lt;br /&gt;&lt;a href="#sidebar" onclick="javascript:try{(function(){    setTimeout(function(){        $('input.gsc-input').each(function(){            $(this).focus();            return true;        });    },170);})();}catch(e){}"&gt;sidebar (2)&lt;/a&gt;&lt;br /&gt;サイドバーに移動。&lt;strong&gt;「フォーカス」&lt;/strong&gt;にフォーカスする。&lt;strong&gt;このブログを検索&lt;/strong&gt;にフォーカスする。&lt;br /&gt;&lt;br /&gt;&lt;a href="#sidebar" onclick="javascript:try{(function(){    setTimeout(function(){        $('#sidebar input.gsc-input').each(function(){            $(this).focus();            return false;        });    },170);})();}catch(e){}"&gt;sidebar (3)&lt;/a&gt;&lt;br /&gt;サイドバーに移動。&lt;strong&gt;このブログを検索&lt;/strong&gt;にフォーカスする。&lt;br /&gt;&lt;br /&gt;&lt;a href="#sidebar" onclick="javascript:try{(function(){    setTimeout(function(){        $('#sidebar input.gsc-input').each(function(){            $(this).focus();            return true;        });    },170);})();}catch(e){}"&gt;sidebar (4)&lt;/a&gt;&lt;br /&gt;サイドバーに移動。&lt;strong&gt;このブログを検索&lt;/strong&gt;にフォーカスする。&lt;br /&gt;(&lt;strong&gt;このブログを検索&lt;/strong&gt;より下に&lt;strong&gt;'#sidebar input.gsc-input'&lt;/strong&gt;にマッチするものは無い。)&lt;br /&gt;&lt;br /&gt;ソース。&lt;br /&gt;&lt;pre&gt;&amp;lt;input class=&amp;quot;gsc-input&amp;quot; type=&amp;quot;text&amp;quot; value=&amp;quot;フォーカス&amp;quot; style=&amp;quot;width: 8em; border: 1px solid gray; margin: 0; padding: 0.5em;&amp;quot; readonly=&amp;quot;readonly&amp;quot;&amp;gt;&amp;lt;/input&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;a href=&amp;quot;#sidebar&amp;quot; onclick=&amp;quot;javascript:&lt;br /&gt;try{(function(){&lt;br /&gt;    setTimeout(function(){&lt;br /&gt;        $('input.gsc-input').each(function(){&lt;br /&gt;            $(this).focus();&lt;br /&gt;            return false;&lt;br /&gt;        });&lt;br /&gt;    },170);&lt;br /&gt;})();}catch(e){}&lt;br /&gt;&amp;quot; target=&amp;quot;_top&amp;quot;&amp;gt;sidebar (1)&amp;lt;/a&amp;gt;&lt;br /&gt;サイドバーに移動。&amp;lt;strong&amp;gt;「フォーカス」&amp;lt;/strong&amp;gt;にフォーカスする。&lt;br /&gt;&lt;br /&gt;&amp;lt;a href=&amp;quot;#sidebar&amp;quot; onclick=&amp;quot;javascript:&lt;br /&gt;try{(function(){&lt;br /&gt;    setTimeout(function(){&lt;br /&gt;        $('input.gsc-input').each(function(){&lt;br /&gt;            $(this).focus();&lt;br /&gt;            return true;&lt;br /&gt;        });&lt;br /&gt;    },170);&lt;br /&gt;})();}catch(e){}&lt;br /&gt;&amp;quot; target=&amp;quot;_top&amp;quot;&amp;gt;sidebar (2)&amp;lt;/a&amp;gt;&lt;br /&gt;サイドバーに移動。&amp;lt;strong&amp;gt;「フォーカス」&amp;lt;/strong&amp;gt;にフォーカスする。&amp;lt;strong&amp;gt;このブログを検索&amp;lt;/strong&amp;gt;にフォーカスする。&lt;br /&gt;&lt;br /&gt;&amp;lt;a href=&amp;quot;#sidebar&amp;quot; onclick=&amp;quot;javascript:&lt;br /&gt;try{(function(){&lt;br /&gt;    setTimeout(function(){&lt;br /&gt;        $('#sidebar input.gsc-input').each(function(){&lt;br /&gt;            $(this).focus();&lt;br /&gt;            return false;&lt;br /&gt;        });&lt;br /&gt;    },170);&lt;br /&gt;})();}catch(e){}&lt;br /&gt;&amp;quot; target=&amp;quot;_top&amp;quot;&amp;gt;sidebar (3)&amp;lt;/a&amp;gt;&lt;br /&gt;サイドバーに移動。&amp;lt;strong&amp;gt;このブログを検索&amp;lt;/strong&amp;gt;にフォーカスする。&lt;br /&gt;&lt;br /&gt;&amp;lt;a href=&amp;quot;#sidebar&amp;quot; onclick=&amp;quot;javascript:&lt;br /&gt;try{(function(){&lt;br /&gt;    setTimeout(function(){&lt;br /&gt;        $('#sidebar input.gsc-input').each(function(){&lt;br /&gt;            $(this).focus();&lt;br /&gt;            return true;&lt;br /&gt;        });&lt;br /&gt;    },170);&lt;br /&gt;})();}catch(e){}&lt;br /&gt;&amp;quot; target=&amp;quot;_top&amp;quot;&amp;gt;sidebar (4)&amp;lt;/a&amp;gt;&lt;br /&gt;サイドバーに移動。&amp;lt;strong&amp;gt;このブログを検索&amp;lt;/strong&amp;gt;にフォーカスする。&lt;br /&gt;(&amp;lt;strong&amp;gt;このブログを検索&amp;lt;/strong&amp;gt;より下に&amp;lt;strong&amp;gt;'#sidebar input.gsc-input'&amp;lt;/strong&amp;gt;にマッチするものは無い。)&lt;/pre&gt;&lt;br /&gt;jqueryのeachはfalseを返すと止まります。&lt;br /&gt;&lt;strong&gt;'input.gsc-input'&lt;/strong&gt;と&lt;strong&gt;'#sidebar input.gsc-input'&lt;/strong&gt;でヒットする数が違います。&lt;br /&gt;この例ではわざと同じクラス名をつけたタグを増やしましたが、&lt;br /&gt;元々クラス名は複数指定可能なので、こういった場合タグにIDをつけると良いです。&lt;br /&gt;IDがある場合eachを使う必要は無いです。($("id").focus()など)&lt;br /&gt;&lt;br /&gt;一部の古いブラウザではjqueryが動作しなかったり、&lt;br /&gt;同一ページへの移動でリロードする場合があるので使えません。&lt;br /&gt;&lt;br /&gt;参考URL。&lt;br /&gt;&lt;a href="http://semooh.jp/jquery/api/core/each/callback/"&gt;http://semooh.jp/jquery/api/core/each/callback/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6143936844695013686-182099061006991913?l=insnvlovn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://insnvlovn.blogspot.com/feeds/182099061006991913/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6143936844695013686&amp;postID=182099061006991913' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/182099061006991913'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/182099061006991913'/><link rel='alternate' type='text/html' href='http://insnvlovn.blogspot.com/2011/10/javascriptfocus-part2.html' title='javascriptのfocus part2'/><author><name>insn</name><uri>http://www.blogger.com/profile/05196582005861324185</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6143936844695013686.post-8397131571890050614</id><published>2011-10-07T07:58:00.002+09:00</published><updated>2011-10-07T08:21:23.080+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><title type='text'>javascriptのfocus</title><content type='html'>Aタグで href="#xxx" で同一ページ内に移動する場合についでにフォーカスする。&lt;br /&gt;フォーカスした部分に変化が無い場合やページをリロードする場合がブラウザによってはある。&lt;br /&gt;setTimeoutには文字列より関数自体を渡した方が早いです。&lt;br /&gt;&lt;br /&gt;例。&lt;br /&gt;&lt;hr /&gt;&lt;a href="#javascript-focus-test-001" id="javascript-focus-test-002" onclick='javascript:try{(function(){setTimeout(function(){document.getElementById("javascript-focus-test-001").focus();},170);})();}catch(e){}'&gt;移動する&lt;/a&gt;&lt;div style="height: 1000px;"&gt;隙間(1000px)&lt;br /&gt;移動先&lt;br /&gt;↓&lt;/div&gt;&lt;a href="#javascript-focus-test-002" id="javascript-focus-test-001" onclick='javascript:try{(function(){setTimeout(function(){document.getElementById("javascript-focus-test-002").focus();},170);})();}catch(e){}'&gt;移動先。戻る。&lt;/a&gt;&lt;hr /&gt;&lt;br /&gt;説明。&lt;br /&gt;&lt;pre&gt;try{ ... }catch(e){} =&gt; tryの中身を実行してエラーの場合何も表示しない。少し遅くなる。&lt;br /&gt;setTimeout(..., 170) =&gt; 移動の0.17秒後に関数を実行する。&lt;br /&gt;function(){ ... }    =&gt; フォーカスを実行する部分。&lt;/pre&gt;&lt;br /&gt;ソース。&lt;br /&gt;&lt;pre&gt;&amp;lt;hr /&amp;gt;&amp;lt;a href=&amp;quot;#javascript-focus-test-001&amp;quot; id=&amp;quot;javascript-focus-test-002&amp;quot; onclick='javascript:try{(function(){setTimeout(function(){document.getElementById(&amp;quot;javascript-focus-test-001&amp;quot;).focus();},170);})();}catch(e){}'&amp;gt;移動する&amp;lt;/a&amp;gt;&amp;lt;div style=&amp;quot;height: 1000px;&amp;quot;&amp;gt;隙間(1000px)&amp;lt;br /&amp;gt;移動先&amp;lt;br /&amp;gt;↓&amp;lt;/div&amp;gt;&amp;lt;a href=&amp;quot;#javascript-focus-test-002&amp;quot; id=&amp;quot;javascript-focus-test-001&amp;quot; onclick='javascript:try{(function(){setTimeout(function(){document.getElementById(&amp;quot;javascript-focus-test-002&amp;quot;).focus();},170);})();}catch(e){}'&amp;gt;移動先。戻る。&amp;lt;/a&amp;gt;&amp;lt;hr /&amp;gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6143936844695013686-8397131571890050614?l=insnvlovn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://insnvlovn.blogspot.com/feeds/8397131571890050614/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6143936844695013686&amp;postID=8397131571890050614' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/8397131571890050614'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/8397131571890050614'/><link rel='alternate' type='text/html' href='http://insnvlovn.blogspot.com/2011/10/javascriptfocus.html' title='javascriptのfocus'/><author><name>insn</name><uri>http://www.blogger.com/profile/05196582005861324185</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6143936844695013686.post-5395261173396427223</id><published>2011-10-06T19:19:00.001+09:00</published><updated>2011-11-26T02:05:00.749+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><title type='text'>jqueryでaタグのtarget属性を変更</title><content type='html'>参考URL。&lt;br /&gt;&lt;a href="http://phpjs.org/functions/preg_quote:491"&gt;http://phpjs.org/functions/preg_quote:491&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.tohoho-web.com/js/regexp.htm"&gt;http://www.tohoho-web.com/js/regexp.htm&lt;/a&gt;&lt;br /&gt;&lt;a href="http://semooh.jp/jquery/"&gt;http://semooh.jp/jquery/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/head&amp;gt;よりも前に記述します。&lt;br /&gt;typeofの文字列判定がダメかもしれません。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;target指定がある。            =&gt; そのまま&lt;br /&gt;http://などから書いていない。 =&gt; _top&lt;br /&gt;http(s)://自ドメイン/...      =&gt; _top&lt;br /&gt;それ以外                      =&gt; _blank&lt;br /&gt;&lt;br /&gt;javascriptがoff               =&gt; 未指定時を_top(baseタグ)&lt;br /&gt;jquery未対応かコードに問題    =&gt; 毎回javascriptがエラーになるなど。&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;script language=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;//&amp;lt;![CDATA[&amp;lt;!--&lt;br /&gt;try{(function(){&lt;br /&gt;    $(document).ready(function(){&lt;br /&gt;        var hostnamePattern = new RegExp(&lt;br /&gt;            &amp;quot;^https?://&amp;quot;&lt;br /&gt;                + &amp;quot;(?:[^/]+\\.)?&amp;quot;&lt;br /&gt;                + location.hostname.replace(new RegExp(&amp;quot;[.\\\\+*?\\[\\^\\]$(){}=!&amp;lt;&amp;gt;|:\\-]&amp;quot;, &amp;quot;g&amp;quot;), &amp;quot;\\$&amp;amp;&amp;quot;)&lt;br /&gt;                + &amp;quot;/&amp;quot;&lt;br /&gt;        ),&lt;br /&gt;        protocolPattern = new RegExp(&amp;quot;^[A-Za-z]+://&amp;quot;);&lt;br /&gt;        $(&amp;quot;a&amp;quot;).each(function(i){&lt;br /&gt;            if (typeof($(this).attr(&amp;quot;href&amp;quot;)) == &amp;quot;string&amp;quot; &amp;amp;&amp;amp; typeof($(this).attr(&amp;quot;target&amp;quot;)) != &amp;quot;string&amp;quot;)&lt;br /&gt;            {&lt;br /&gt;                if (!$(this).attr(&amp;quot;href&amp;quot;).match(protocolPattern) || $(this).attr(&amp;quot;href&amp;quot;).match(hostnamePattern))&lt;br /&gt;                {&lt;br /&gt;                    $(this).attr(&amp;quot;target&amp;quot;, &amp;quot;_top&amp;quot;);&lt;br /&gt;                }&lt;br /&gt;                else&lt;br /&gt;                {&lt;br /&gt;                    $(this).attr(&amp;quot;target&amp;quot;, &amp;quot;_blank&amp;quot;);&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;        });&lt;br /&gt;});&lt;br /&gt;})();}catch(e){}&lt;br /&gt;//--&amp;gt;]]&amp;gt;&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;base target=&amp;quot;_top&amp;quot;&amp;gt;&lt;/pre&gt;&lt;br&gt;2011-11-26 追記&lt;br&gt;_topはブラウザによってはnocacheなので_selfが良いです。&lt;br&gt;下記の例は$(document).ready(function(){...});の中か、&amp;lt;/body&amp;gt;直前に書きます。&lt;br&gt;&lt;pre&gt;(function(){&lt;br /&gt;  var hostnamePattern = new RegExp(&lt;br /&gt;    &amp;quot;^https?://&amp;quot;&lt;br /&gt;      + &amp;quot;(?:[^/]+\\.)?&amp;quot;&lt;br /&gt;      + location.hostname.replace(new RegExp(&amp;quot;[.\\\\+*?\\[\\^\\]$(){}=!&amp;lt;&amp;gt;|:\\-]&amp;quot;, &amp;quot;g&amp;quot;), &amp;quot;\\$&amp;amp;&amp;quot;)&lt;br /&gt;      + &amp;quot;/&amp;quot;&lt;br /&gt;  ),&lt;br /&gt;  protocolPattern = new RegExp(&amp;quot;^[A-Za-z]+://&amp;quot;);&lt;br /&gt;  $(&amp;quot;a&amp;quot;).each(function(){&lt;br /&gt;    var elem = $(this);&lt;br /&gt;    if (typeof elem.attr(&amp;quot;href&amp;quot;) == &amp;quot;string&amp;quot; &amp;amp;&amp;amp; typeof elem.attr(&amp;quot;target&amp;quot;) != &amp;quot;string&amp;quot;)&lt;br /&gt;    {&lt;br /&gt;      if (!elem.attr(&amp;quot;href&amp;quot;).match(protocolPattern) || elem.attr(&amp;quot;href&amp;quot;).match(hostnamePattern))&lt;br /&gt;      {&lt;br /&gt;        elem.attr(&amp;quot;target&amp;quot;, &amp;quot;_self&amp;quot;);&lt;br /&gt;      }&lt;br /&gt;      else&lt;br /&gt;      {&lt;br /&gt;        elem.attr(&amp;quot;target&amp;quot;, &amp;quot;_blank&amp;quot;);&lt;br /&gt;      }&lt;br /&gt;    }&lt;br /&gt;  });&lt;br /&gt;})();&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6143936844695013686-5395261173396427223?l=insnvlovn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://insnvlovn.blogspot.com/feeds/5395261173396427223/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6143936844695013686&amp;postID=5395261173396427223' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/5395261173396427223'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/5395261173396427223'/><link rel='alternate' type='text/html' href='http://insnvlovn.blogspot.com/2011/10/jqueryatarget.html' title='jqueryでaタグのtarget属性を変更'/><author><name>insn</name><uri>http://www.blogger.com/profile/05196582005861324185</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6143936844695013686.post-6349921702664444757</id><published>2011-10-05T22:16:00.000+09:00</published><updated>2011-10-05T22:16:40.815+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='amazon'/><title type='text'>Amazonの商品リンクのテスト</title><content type='html'>記事が長い場合のサイドバーの隙間を埋めるテストです。&lt;br /&gt;試しにこのサイトで使っています。&lt;br /&gt;IE6の場合画像とタイトルの間に他よりも隙間が入ります。&lt;br /&gt;IE5.5の場合動作しません。&lt;br /&gt;動作がおかしい場合があるので、もし利用する場合は自己責任でご利用ください。&lt;br /&gt;&lt;br /&gt;ヘッダーに追加する。&lt;br /&gt;&lt;pre&gt;$ diff -w -u template-6143936844695013686.xml.2011-10-05.8 template-6143936844695013686.xml.2011-10-05.9&lt;br /&gt;--- template-6143936844695013686.xml.2011-10-05.8       2011-10-05 19:34:30.900375000 +0900&lt;br /&gt;+++ template-6143936844695013686.xml.2011-10-05.9       2011-10-05 19:35:49.322250000 +0900&lt;br /&gt;@@ -1219,6 +1219,8 @@&lt;br /&gt;&lt;br /&gt; ]]&amp;gt;&amp;lt;/b:skin&amp;gt;&lt;br /&gt;&lt;br /&gt;+&amp;lt;script src='http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js' type='text/javascript'/&amp;gt;&lt;br /&gt;+&lt;br /&gt; &amp;lt;base target='_top'/&amp;gt;&lt;br /&gt;&lt;br /&gt; &amp;lt;script type='text/javascript'&amp;gt;&lt;/pre&gt;&lt;br /&gt;サイドバーに追加する。&lt;br /&gt;&lt;pre&gt;&amp;lt;div id=&amp;quot;amazontest002&amp;quot; style=&amp;quot;border-width: 0; margin: 0; padding: 0;width: 182px;&amp;quot;&amp;gt;&lt;br /&gt;&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;//&amp;lt;![CDATA[&amp;lt;!--&lt;br /&gt;try{(function(){&lt;br /&gt;    var&lt;br /&gt;    // 本のリスト。&lt;br /&gt;    bookList = [&lt;br /&gt;        // 技術書&lt;br /&gt;        [&amp;quot;4777514897&amp;quot;, &amp;quot;jQueryプラグインブック―「軽量」「高機能」 JavaScriptライブラリの導入と活用! (I・O BOOKS)&amp;quot;],&lt;br /&gt;        [&amp;quot;4798028622&amp;quot;, &amp;quot;Linuxネットワークプログラミングバイブル&amp;quot;],&lt;br /&gt;        [&amp;quot;4798123358&amp;quot;, &amp;quot;PostgreSQL徹底入門 第3版&amp;quot;],&lt;br /&gt;        [&amp;quot;4048684116&amp;quot;, &amp;quot;Web制作の現場で使う jQueryデザイン入門 (WEB PROFESSIONAL)&amp;quot;],&lt;br /&gt;        [&amp;quot;4774142948&amp;quot;, &amp;quot;エキスパートのためのMySQL[運用+管理]トラブルシューティングガイド&amp;quot;],&lt;br /&gt;        [&amp;quot;4774144371&amp;quot;, &amp;quot;パーフェクトPHP (PERFECT SERIES 3)&amp;quot;],&lt;br /&gt;        [&amp;quot;4797361190&amp;quot;, &amp;quot;体系的に学ぶ 安全なWebアプリケーションの作り方　脆弱性が生まれる原理と対策の実践&amp;quot;],&lt;br /&gt;        // マンガ&lt;br /&gt;        [&amp;quot;4592144368&amp;quot;, &amp;quot;ベルセルク 36 (ジェッツコミックス)&amp;quot;],&lt;br /&gt;        [&amp;quot;4434152637&amp;quot;, &amp;quot;十字道 1 (アルファポリスCOMICS)&amp;quot;],&lt;br /&gt;        [&amp;quot;4903421384&amp;quot;, &amp;quot;異邦人たち (1) (コミホリコミック)&amp;quot;],&lt;br /&gt;        [&amp;quot;4047273228&amp;quot;, &amp;quot;デビルサマナー葛葉ライドウ対コドクノマレビト(4) (ファミ通クリアコミックス)&amp;quot;],&lt;br /&gt;        [&amp;quot;4896373669&amp;quot;, &amp;quot;蒼い世界の中心で 完全版6 (マイクロマガジン・コミックス) (マイクロマガジン☆コミックス)&amp;quot;],&lt;br /&gt;        // パソコン&lt;br /&gt;        [&amp;quot;B0055ADPI4&amp;quot;, &amp;quot;acer Aspire One 722シリーズ ブルー AO722-N52C/B&amp;quot;],&lt;br /&gt;        [&amp;quot;B0055ADQ0Q&amp;quot;, &amp;quot;acer Aspire One 722シリーズ ブラック AO722-N52C/K&amp;quot;],&lt;br /&gt;        // ゲーム&lt;br /&gt;        [&amp;quot;B002B9XB0E&amp;quot;, &amp;quot;BUFFALO USBゲームパッド 8ボタン スーパーファミコン風 グレー BSGP801GY&amp;quot;],&lt;br /&gt;        &amp;quot;&amp;quot;];&lt;br /&gt;    // デバッグ表示ON/OFF。&lt;br /&gt;    var debugFlag = false;&lt;br /&gt;    if (debugFlag)&lt;br /&gt;    {&lt;br /&gt;        // &amp;lt;/body&amp;gt;と&amp;lt;/html&amp;gt;の間。&lt;br /&gt;        $(&amp;quot;body&amp;quot;).append(&amp;quot;&amp;lt;div id='debug'&amp;gt;&amp;lt;/div&amp;gt;&amp;quot;);&lt;br /&gt;    }&lt;br /&gt;    var&lt;br /&gt;    // サイドバーの方が長いが1件目は表示する。&lt;br /&gt;    firstDisplay = true,&lt;br /&gt;    // メインコンテンツのID。&lt;br /&gt;    mainId = &amp;quot;#main&amp;quot;,&lt;br /&gt;    // サイドバーのID。&lt;br /&gt;    sidebarId = &amp;quot;#sidebar&amp;quot;,&lt;br /&gt;    // サイドバーの中の本を出す部分のID。&lt;br /&gt;    sidebarInnerContentsId = &amp;quot;#amazontest002&amp;quot;,&lt;br /&gt;    // 1件目を処理するまでのミリ秒。&lt;br /&gt;    sleepNumFirst = 500,&lt;br /&gt;    // 2件目以降を処理する間隔のミリ秒。&lt;br /&gt;    sleepNum = 2500,&lt;br /&gt;    // だんだん遅くする。&lt;br /&gt;    delayTimeNum = 100,&lt;br /&gt;    // 本を追加＝＞サイドバーの方が長くなる。場合があるので1回追加するより少し多い値。ピクセル。&lt;br /&gt;    sidebarHeightMargin = 360,&lt;br /&gt;    // 本の間の隙間のタグのスタイル。&lt;br /&gt;    separationStyle = &amp;quot;&amp;lt;div style='border-width: 0; margin: 0; height: 1.2em; clear: both;'&amp;gt;&amp;lt;/div&amp;gt;&amp;quot;,&lt;br /&gt;    // 本とタイトルの間。テキストがある場合。&lt;br /&gt;    separationStyleText = &amp;quot;&amp;lt;div style='border-width: 0; margin: 0; height: 0.2em; clear: both;'&amp;gt;&amp;lt;/div&amp;gt;&amp;quot;,&lt;br /&gt;    //separationStyleText = &amp;quot;&amp;quot;,&lt;br /&gt;    // Aタグのスタイル。&lt;br /&gt;    aStyle = &amp;quot;border-width: 0; margin: 0; padding: 0; color: #676767; text-decoration: none; font-size: 95%; line-height: 1.2em; font-family: verdana,arial,sans-serif; letter-spacing: 0; word-spacing: 0; word-wrap: break-word; display: block; float: left;&amp;quot;,&lt;br /&gt;    // Aタグのスタイル。テキストがある場合。&lt;br /&gt;    aStyleText = aStyle,&lt;br /&gt;    // IMGタグのスタイル。&lt;br /&gt;    imgStyle = &amp;quot;border: 1px solid #676767; margin: 0; padding: 0; float: left;&amp;quot;,&lt;br /&gt;    // イメージとテキストを包むDIVタグのスタイル。&lt;br /&gt;    imgAndTextIncludeStyle = &amp;quot;border-width: 0; margin: 0;&amp;quot;,&lt;br /&gt;    // 一緒に表示する小さい画像にスタイルを追加。&lt;br /&gt;    dummyImageStyle = &amp;quot;float: left;&amp;quot;,&lt;br /&gt;    // 一緒に表示する小さい画像にスタイルを追加。テキストがある場合。&lt;br /&gt;    dummyImageStyleText = &amp;quot;float: left;&amp;quot;,&lt;br /&gt;    // Aタグにターゲットを追加。&lt;br /&gt;    aTarget = &amp;quot;_blank&amp;quot;,&lt;br /&gt;    // Aタグにターゲットを追加。テキストがある場合。&lt;br /&gt;    aTargetText = aTarget,&lt;br /&gt;    // 表示順をシャッフルするか？&lt;br /&gt;    shuffleFlag = true,&lt;br /&gt;    // 本の画像サイズ。(_SX180_ =&amp;gt; 横幅180ピクセル)&lt;br /&gt;    imageSize = &amp;quot;_SX180_&amp;quot;,&lt;br /&gt;    // アソシエイトID。&lt;br /&gt;    associateId = &amp;quot;xxx-22&amp;quot;,&lt;br /&gt;    // HTMLタグのテンプレート。&lt;br /&gt;    htmlTemplate = '&amp;lt;a target=&amp;quot;' + aTarget + '&amp;quot; style=&amp;quot;' + aStyle + '&amp;quot; href=&amp;quot;http://www.amazon.co.jp/gp/product/__productId__/ref=as_li_tf_il?ie=UTF8&amp;amp;tag=__associateID__&amp;amp;linkCode=as2&amp;amp;camp=247&amp;amp;creative=1211&amp;amp;creativeASIN=__productId__&amp;quot;&amp;gt;&amp;lt;img style=&amp;quot;' + imgStyle + '&amp;quot; border=&amp;quot;0&amp;quot; src=&amp;quot;http://ws.assoc-amazon.jp/widgets/q?_encoding=UTF8&amp;amp;Format=__imageSize__&amp;amp;ASIN=__productId__&amp;amp;MarketPlace=JP&amp;amp;ID=AsinImage&amp;amp;WS=1&amp;amp;tag=__associateID__&amp;amp;ServiceVersion=20070822&amp;quot; &amp;gt;&amp;lt;/a&amp;gt;&amp;lt;img src=&amp;quot;http://www.assoc-amazon.jp/e/ir?t=__associateID__&amp;amp;l=as2&amp;amp;o=9&amp;amp;a=__productId__&amp;quot; width=&amp;quot;1&amp;quot; height=&amp;quot;1&amp;quot; border=&amp;quot;0&amp;quot; alt=&amp;quot;&amp;quot; style=&amp;quot;border:none !important; margin:0px !important;' + dummyImageStyle + '&amp;quot; /&amp;gt;',&lt;br /&gt;    // HTMLタグのテンプレート。テキストがある場合。&lt;br /&gt;    htmlTemplateText = '&amp;lt;a target=&amp;quot;' + aTargetText + '&amp;quot; style=&amp;quot;' + aStyleText + '&amp;quot; href=&amp;quot;http://www.amazon.co.jp/gp/product/__productId__/ref=as_li_tf_tl?ie=UTF8&amp;amp;tag=__associateID__&amp;amp;linkCode=as2&amp;amp;camp=247&amp;amp;creative=1211&amp;amp;creativeASIN=__productId__&amp;quot;&amp;gt;__htmlTemplateText__&amp;lt;/a&amp;gt;&amp;lt;img src=&amp;quot;http://www.assoc-amazon.jp/e/ir?t=__associateID__&amp;amp;l=as2&amp;amp;o=9&amp;amp;a=__productId__&amp;quot; width=&amp;quot;1&amp;quot; height=&amp;quot;1&amp;quot; border=&amp;quot;0&amp;quot; alt=&amp;quot;&amp;quot; style=&amp;quot;border:none !important; margin:0px !important;' + dummyImageStyleText + '&amp;quot; /&amp;gt;';&lt;br /&gt;&lt;br /&gt;    (function(){&lt;br /&gt;        if (debugFlag) {$(&amp;quot;#debug&amp;quot;).append(&amp;quot;start!!&amp;lt;br /&amp;gt;&amp;quot;);}&lt;br /&gt;        $(bookList).each(function(i){&lt;br /&gt;            if (bookList[i] == &amp;quot;&amp;quot;)&lt;br /&gt;            {&lt;br /&gt;                bookList.splice(i, 1);&lt;br /&gt;            }&lt;br /&gt;        });&lt;br /&gt;        var listTmp = bookList,&lt;br /&gt;        listKey = 0,&lt;br /&gt;        firstFlag = true,&lt;br /&gt;        addBook = function(){&lt;br /&gt;            var ret = false, buf;&lt;br /&gt;            if (listTmp.length &amp;gt; 0)&lt;br /&gt;            {&lt;br /&gt;                if (firstFlag !== false)&lt;br /&gt;                {&lt;br /&gt;                    firstFlag = false;&lt;br /&gt;                }&lt;br /&gt;                else&lt;br /&gt;                {&lt;br /&gt;                    $(sidebarInnerContentsId).append(separationStyle);&lt;br /&gt;                }&lt;br /&gt;                if (shuffleFlag)&lt;br /&gt;                {&lt;br /&gt;                    listKey = Math.floor(Math.random() * 1000000) % listTmp.length;&lt;br /&gt;                }&lt;br /&gt;                if (debugFlag) {$(&amp;quot;#debug&amp;quot;).append(&amp;quot;listKey = &amp;quot; + listKey + &amp;quot;&amp;lt;br /&amp;gt;&amp;quot;);}&lt;br /&gt;                if (debugFlag) {$(&amp;quot;#debug&amp;quot;).append(&amp;quot;listTmp.length = &amp;quot; + listTmp.length + &amp;quot;&amp;lt;br /&amp;gt;&amp;quot;);}&lt;br /&gt;                if (debugFlag) {$(&amp;quot;#debug&amp;quot;).append(&amp;quot;productId = &amp;quot; + listTmp[listKey][0] + &amp;quot;&amp;lt;br /&amp;gt;&amp;quot;);}&lt;br /&gt;                if (debugFlag) {$(&amp;quot;#debug&amp;quot;).append(&amp;quot;title = &amp;quot; + listTmp[listKey][1] + &amp;quot;&amp;lt;br /&amp;gt;&amp;quot;);}&lt;br /&gt;                buf = htmlTemplate&lt;br /&gt;                    .replace(/__productId__/g, listTmp[listKey][0])&lt;br /&gt;                    .replace(/__imageSize__/g, imageSize)&lt;br /&gt;                    .replace(/__associateID__/g, associateId);&lt;br /&gt;                if (listTmp[listKey][1] != &amp;quot;&amp;quot;)&lt;br /&gt;                {&lt;br /&gt;                    buf += separationStyleText + htmlTemplateText&lt;br /&gt;                        .replace(/__productId__/g, listTmp[listKey][0])&lt;br /&gt;                        .replace(/__htmlTemplateText__/g, listTmp[listKey][1])&lt;br /&gt;                        .replace(/__associateID__/g, associateId);&lt;br /&gt;                }&lt;br /&gt;                $(sidebarInnerContentsId).append(&amp;quot;&amp;lt;div style='&amp;quot; + imgAndTextIncludeStyle + &amp;quot;'&amp;gt;&amp;quot; + buf + &amp;quot;&amp;lt;/div&amp;gt;&amp;quot;);&lt;br /&gt;                listTmp.splice(listKey, 1);&lt;br /&gt;                ret = true;&lt;br /&gt;            }&lt;br /&gt;            return ret;&lt;br /&gt;        },&lt;br /&gt;        debugTime = new Date().getTime(),&lt;br /&gt;        debugLoopNum = 0,&lt;br /&gt;        sleepNumTmp = sleepNum,&lt;br /&gt;        timeoutId = -1,&lt;br /&gt;        scheduler = function(){&lt;br /&gt;            var mainHeight = $(mainId).height() + $(mainId).offset().top,&lt;br /&gt;            sidebarHeight = $(sidebarId).height() + $(sidebarId).offset().top + sidebarHeightMargin,&lt;br /&gt;            ret = false, tmpTime = new Date().getTime();&lt;br /&gt;            if (debugFlag) {$(&amp;quot;#debug&amp;quot;).append(&amp;quot;&amp;lt;hr /&amp;gt;&amp;quot;);}&lt;br /&gt;            if (debugFlag) {$(&amp;quot;#debug&amp;quot;).append(&amp;quot;num = &amp;quot; + (++debugLoopNum) + &amp;quot;&amp;lt;br /&amp;gt;&amp;quot;);}&lt;br /&gt;            if (debugFlag) {$(&amp;quot;#debug&amp;quot;).append(&amp;quot;time = &amp;quot; + ((tmpTime - debugTime) / 1000) + &amp;quot;&amp;lt;br /&amp;gt;&amp;quot;);}&lt;br /&gt;            debugTime = tmpTime;&lt;br /&gt;            if (debugFlag) {$(&amp;quot;#debug&amp;quot;).append(&amp;quot;mainHeight = &amp;quot; + mainHeight + &amp;quot;&amp;lt;br /&amp;gt;&amp;quot;);}&lt;br /&gt;            if (debugFlag) {$(&amp;quot;#debug&amp;quot;).append(&amp;quot;sidebarHeight = &amp;quot; + (sidebarHeight - sidebarHeightMargin) + &amp;quot;&amp;lt;br /&amp;gt;&amp;quot;);}&lt;br /&gt;            if (debugFlag) {$(&amp;quot;#debug&amp;quot;).append(&amp;quot;mainHeight - sidebarHeight = &amp;quot; + (mainHeight - (sidebarHeight - sidebarHeightMargin)) + &amp;quot;&amp;lt;br /&amp;gt;&amp;quot;);}&lt;br /&gt;            if ((firstFlag &amp;amp;&amp;amp; firstDisplay) || mainHeight &amp;gt; sidebarHeight)&lt;br /&gt;            {&lt;br /&gt;                ret = addBook();&lt;br /&gt;            }&lt;br /&gt;            if (ret &amp;amp;&amp;amp; mainHeight &amp;gt; sidebarHeight)&lt;br /&gt;            {&lt;br /&gt;                timeoutId = setTimeout(scheduler, sleepNumTmp);&lt;br /&gt;                sleepNumTmp += delayTimeNum;&lt;br /&gt;            }&lt;br /&gt;            else&lt;br /&gt;            {&lt;br /&gt;                if (debugFlag) {$(&amp;quot;#debug&amp;quot;).append(&amp;quot;End!!&amp;lt;br /&amp;gt;&amp;quot;);}&lt;br /&gt;                clearTimeout(timeoutId);&lt;br /&gt;            }&lt;br /&gt;        };&lt;br /&gt;        timeoutId = setTimeout(scheduler, sleepNumFirst);&lt;br /&gt;    })();&lt;br /&gt;})();}catch(e){window.document.write(&amp;quot;&amp;lt;&amp;quot;+&amp;quot;pre&amp;gt;Error: &amp;quot; + e + &amp;quot;&amp;lt;&amp;quot;+&amp;quot;/pre&amp;gt;&amp;quot;);}&lt;br /&gt;//--&amp;gt;]]&amp;gt;&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;br clear=&amp;quot;all&amp;quot; style=&amp;quot;clear: both; font-size: 1px; line-height: 1px; height: 1px;&amp;quot; /&amp;gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6143936844695013686-6349921702664444757?l=insnvlovn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://insnvlovn.blogspot.com/feeds/6349921702664444757/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6143936844695013686&amp;postID=6349921702664444757' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/6349921702664444757'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/6349921702664444757'/><link rel='alternate' type='text/html' href='http://insnvlovn.blogspot.com/2011/10/amazon_05.html' title='Amazonの商品リンクのテスト'/><author><name>insn</name><uri>http://www.blogger.com/profile/05196582005861324185</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6143936844695013686.post-792736375567847542</id><published>2011-10-05T22:01:00.000+09:00</published><updated>2011-10-05T22:16:19.855+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='blogger'/><title type='text'>bloggerのNavbarを削除</title><content type='html'>検索の機能が別であるのでNavbarを削除した。&lt;br /&gt;ログイン状態の確認などで不便かもしれない。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;--- template-6143936844695013686.xml.2011-10-05.5  2011-10-05 08:44:25.599750000 +0900&lt;br /&gt;+++ template-6143936844695013686.xml.2011-10-05.6       2011-10-05 18:25:28.197250000 +0900&lt;br /&gt;@@ -1207,6 +1207,15 @@&lt;br /&gt;     position: relative;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;+/*************************************************&lt;br /&gt;+ * &lt;a href="http://www.bloggerbuster.com/2007/07/how-to-hide-blogger-nav-bar.html"&gt;http://www.bloggerbuster.com/2007/07/how-to-hide-blogger-nav-bar.html&lt;/a&gt;&lt;br /&gt;+ * &lt;a href="http://www.kuribo.info/2010/02/blogger-navbar.html"&gt;http://www.kuribo.info/2010/02/blogger-navbar.html&lt;/a&gt;&lt;br /&gt;+ *************************************************/&lt;br /&gt;+#navbar-iframe {&lt;br /&gt;+height:0px;&lt;br /&gt;+visibility:hidden;&lt;br /&gt;+display:none&lt;br /&gt;+}&lt;br /&gt;&lt;br /&gt; ]]&amp;gt;&amp;lt;/b:skin&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6143936844695013686-792736375567847542?l=insnvlovn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://insnvlovn.blogspot.com/feeds/792736375567847542/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6143936844695013686&amp;postID=792736375567847542' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/792736375567847542'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/792736375567847542'/><link rel='alternate' type='text/html' href='http://insnvlovn.blogspot.com/2011/10/bloggernavbar.html' title='bloggerのNavbarを削除'/><author><name>insn</name><uri>http://www.blogger.com/profile/05196582005861324185</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6143936844695013686.post-127035016449086704</id><published>2011-10-04T01:41:00.002+09:00</published><updated>2011-10-04T01:46:07.403+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='blogger'/><title type='text'>bloggerの記事の1件目にhtmlを追加</title><content type='html'>参考URL。&lt;br /&gt;&lt;a href="http://snapman.net/notes/blogger-template-tags"&gt;http://snapman.net/notes/blogger-template-tags&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;バックアップしてから&lt;strong&gt;「ウィジェット テンプレートをデフォルトに戻す」&lt;/strong&gt;を押した後に別でバックアップを取り、差分を取った結果です。&lt;br /&gt;挿入箇所は-(マイナス)で始まっている行の前後辺りを参考にしてください。&lt;br /&gt;判定条件は、多分下記で合っています。テストしてください。&lt;br /&gt;&lt;br /&gt;複数記事が出る場合に、その記事が1件目かどうか？&lt;br /&gt;&lt;pre&gt;'data:post.isFirstPost == &amp;quot;true&amp;quot;'&lt;/pre&gt;&lt;br /&gt;URLがトップページのURLかどうか？&lt;br /&gt;&lt;pre&gt;'data:blog.url == data:blog.homepageUrl'&lt;/pre&gt;&lt;br /&gt;差分。&lt;br /&gt;&lt;pre&gt;--- template-6143936844695013686.xml.2011-10-04.2  2011-10-04 01:13:41.956750000 +0900&lt;br /&gt;+++ template-6143936844695013686.xml    2011-10-04 01:23:21.003625000 +0900&lt;br /&gt;@@ -1417,34 +1417,16 @@&lt;br /&gt;     &amp;lt;div class='post-header-line-1'/&amp;gt;&lt;br /&gt;     &amp;lt;/div&amp;gt;&lt;br /&gt;&lt;br /&gt;     &amp;lt;div class='post-body entry-content' expr:id='&amp;amp;quot;post-body-&amp;amp;quot; + data:post.id'&amp;gt;&lt;br /&gt;       &amp;lt;data:post.body/&amp;gt;&lt;br /&gt;       &amp;lt;div style='clear: both;'/&amp;gt; &amp;lt;!-- clear for photos floats --&amp;gt;&lt;br /&gt;     &amp;lt;/div&amp;gt;&lt;br /&gt;&lt;br /&gt;-&amp;lt;b:if cond='data:post.isFirstPost == &amp;amp;quot;true&amp;amp;quot;'&amp;gt;&lt;br /&gt;-&amp;lt;div class='if-cond-data-post-isFirstPost-true'&amp;gt;&lt;br /&gt;-&amp;lt;div class='inline-ad-google-adsense-test001'&amp;gt;&lt;br /&gt;-&amp;lt;script type='text/javascript'&amp;gt;&amp;amp;lt;!--&lt;br /&gt;-google_ad_client = ...&lt;br /&gt;-google_ad_host = ...&lt;br /&gt;-/* 336x280 */&lt;br /&gt;-google_ad_slot = ...&lt;br /&gt;-google_ad_width = 336;&lt;br /&gt;-google_ad_height = 280;&lt;br /&gt;-//--&amp;amp;gt;&lt;br /&gt;-&amp;lt;/script&amp;gt;&lt;br /&gt;-&amp;lt;script src='http://pagead2.googlesyndication.com/pagead/show_ads.js' type='text/javascript'&amp;gt;&lt;br /&gt;-&amp;lt;/script&amp;gt;&lt;br /&gt;-&amp;lt;/div&amp;gt;&lt;br /&gt;-&amp;lt;/div&amp;gt;&lt;br /&gt;-&amp;lt;/b:if&amp;gt;&lt;br /&gt;-&lt;br /&gt;     &amp;lt;b:if cond='data:post.hasJumpLink'&amp;gt;&lt;br /&gt;       &amp;lt;div class='jump-link'&amp;gt;&lt;br /&gt;         &amp;lt;a expr:href='data:post.url + &amp;amp;quot;#more&amp;amp;quot;' expr:title='data:post.title'&amp;gt;&amp;lt;data:post.jumpText/&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;       &amp;lt;/div&amp;gt;&lt;br /&gt;     &amp;lt;/b:if&amp;gt;&lt;br /&gt;&lt;br /&gt;     &amp;lt;div class='post-footer'&amp;gt;&lt;br /&gt;     &amp;lt;div class='post-footer-line post-footer-line-1'&amp;gt;&amp;lt;span class='post-author vcard'&amp;gt;&lt;br /&gt;@@ -1667,28 +1649,16 @@&lt;br /&gt;         &amp;lt;img alt='' class='icon-action' height='18' src='http://img2.blogblog.com/img/icon18_edit_allbkg.gif' width='18'/&amp;gt;&lt;br /&gt;       &amp;lt;/a&amp;gt;&lt;br /&gt;     &amp;lt;/span&amp;gt;&lt;br /&gt;   &amp;lt;/b:if&amp;gt;&lt;br /&gt; &amp;lt;/b:includable&amp;gt;&lt;br /&gt; &amp;lt;b:includable id='main' var='top'&amp;gt;&lt;br /&gt;   &amp;lt;b:if cond='data:mobile == &amp;amp;quot;false&amp;amp;quot;'&amp;gt;&lt;br /&gt;&lt;br /&gt;-&amp;lt;b:if cond='data:blog.url == data:blog.homepageUrl'&amp;gt;&lt;br /&gt;-&amp;lt;div class='if-cond-data-blog-pageType-index'&amp;gt;&lt;br /&gt;-&amp;lt;div class='welcome-message'&amp;gt;&lt;br /&gt;-ようこそ&amp;amp;#65281;&amp;amp;#65281;&amp;lt;br/&amp;gt;&lt;br /&gt;-現在トップページを表示しています&amp;amp;#12290;&amp;lt;br/&amp;gt;&lt;br /&gt;-このサイトは主に&amp;lt;a href='http://www.gentoo.org/main/ja/about.xml'&amp;gt;Gentoo Linux&amp;lt;/a&amp;gt;と&amp;lt;a href='http://www.php.net/manual/ja/pre ace.php'&amp;gt;PHP&amp;lt;/a&amp;gt;に関するメモを保存しているサイトです&amp;amp;#12290;&amp;lt;br/&amp;gt;&lt;br /&gt;-サイドバーのコンテンツから記事を探してください&amp;amp;#12290;&amp;lt;br/&amp;gt;&lt;br /&gt;-現在のページは最新の記事を表示しています&amp;amp;#12290;&lt;br /&gt;-&amp;lt;/div&amp;gt;&lt;br /&gt;-&amp;lt;/div&amp;gt;&lt;br /&gt;-&amp;lt;/b:if&amp;gt;&lt;br /&gt;-&lt;br /&gt;     &amp;lt;!-- posts --&amp;gt;&lt;br /&gt;     &amp;lt;div class='blog-posts hfeed'&amp;gt;&lt;br /&gt;&lt;br /&gt;       &amp;lt;b:include data='top' name='status-message'/&amp;gt;&lt;br /&gt;&lt;br /&gt;       &amp;lt;data:defaultAdStart/&amp;gt;&lt;br /&gt;       &amp;lt;b:loop values='data:posts' var='post'&amp;gt;&lt;br /&gt;         &amp;lt;b:if cond='data:post.isDateStart'&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6143936844695013686-127035016449086704?l=insnvlovn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://insnvlovn.blogspot.com/feeds/127035016449086704/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6143936844695013686&amp;postID=127035016449086704' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/127035016449086704'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/127035016449086704'/><link rel='alternate' type='text/html' href='http://insnvlovn.blogspot.com/2011/10/blogger1html.html' title='bloggerの記事の1件目にhtmlを追加'/><author><name>insn</name><uri>http://www.blogger.com/profile/05196582005861324185</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6143936844695013686.post-7436457612798560204</id><published>2011-10-03T20:54:00.002+09:00</published><updated>2011-10-03T21:25:19.230+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='blogger'/><title type='text'>bloggerのトップページに文言を追加</title><content type='html'>参考URL。&lt;br /&gt;&lt;a href="http://www.google.com/support/forum/p/blogger/thread?tid=4892e22dee25eedc&amp;hl=ja"&gt;http://www.google.com/support/forum/p/blogger/thread?tid=4892e22dee25eedc&amp;hl=ja&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;例。&lt;br /&gt;&lt;pre&gt;$ diff -U5 -w -u template-6143936844695013686.xml.2011-10-03.8 template-6143936844695013686.xml.2011-10-03.9&lt;br /&gt;--- template-6143936844695013686.xml.2011-10-03.8       2011-10-03 16:47:50.052500000 +0900&lt;br /&gt;+++ template-6143936844695013686.xml.2011-10-03.9       2011-10-03 20:38:16.725375000 +0900&lt;br /&gt;@@ -1156,10 +1156,21 @@&lt;br /&gt; #main .gsc-result-info {&lt;br /&gt;   border-bottom-width: 0;&lt;br /&gt;   padding-right: 33px;&lt;br /&gt;   text-align: right;&lt;br /&gt; }&lt;br /&gt;+/*************************************************&lt;br /&gt;+ * トップページテスト。&lt;br /&gt;+ *************************************************/&lt;br /&gt;+.if-cond-data-blog-pageType-index {&lt;br /&gt;+    border-top: 1px dashed gray;&lt;br /&gt;+    line-height: 1.5em;&lt;br /&gt;+    margin-bottom: 2.08em;&lt;br /&gt;+    margin-left: -0.8em;&lt;br /&gt;+    padding-left: 0.8em;&lt;br /&gt;+    padding-top: 0.5em;&lt;br /&gt;+}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; ]]&amp;gt;&amp;lt;/b:skin&amp;gt;&lt;br /&gt;&lt;br /&gt;@@ -1614,10 +1625,20 @@&lt;br /&gt;   &amp;lt;/b:if&amp;gt;&lt;br /&gt; &amp;lt;/b:includable&amp;gt;&lt;br /&gt; &amp;lt;b:includable id='main' var='top'&amp;gt;&lt;br /&gt;   &amp;lt;b:if cond='data:mobile == &amp;amp;quot;false&amp;amp;quot;'&amp;gt;&lt;br /&gt;&lt;br /&gt;+&amp;lt;b:if cond='data:blog.pageType == &amp;amp;quot;index&amp;amp;quot;'&amp;gt;&lt;br /&gt;+&amp;lt;div class='if-cond-data-blog-pageType-index'&amp;gt;&lt;br /&gt;+ようこそ&amp;amp;#65281;&amp;amp;#65281;&amp;lt;br/&amp;gt;&lt;br /&gt;+現在トップページを表示しています&amp;amp;#12290;&amp;lt;br/&amp;gt;&lt;br /&gt;+このサイトは主に&amp;lt;a href='http://www.gentoo.org/main/ja/about.xml'&amp;gt;Gentoo Linux&amp;lt;/a&amp;gt;と&amp;lt;a href='http://www.php.net/manual/ja/pre ace.php'&amp;gt;PHP&amp;lt;/a&amp;gt;に関するメモを保存しているサイトです&amp;amp;#12290;&amp;lt;br/&amp;gt;&lt;br /&gt;+サイドバーのコンテンツから記事を探してください&amp;amp;#12290;&amp;lt;br/&amp;gt;&lt;br /&gt;+現在のページは最新の記事を表示しています&amp;amp;#12290;&lt;br /&gt;+&amp;lt;/div&amp;gt;&lt;br /&gt;+&amp;lt;/b:if&amp;gt;&lt;br /&gt;+&lt;br /&gt;     &amp;lt;!-- posts --&amp;gt;&lt;br /&gt;     &amp;lt;div class='blog-posts hfeed'&amp;gt;&lt;br /&gt;&lt;br /&gt;       &amp;lt;b:include data='top' name='status-message'/&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;追記。条件が間違っていたので修正した。&lt;br /&gt;&lt;pre&gt;$ diff -w -u template-6143936844695013686.xml.2011-10-03.11 template-6143936844695013686.xml&lt;br /&gt;--- template-6143936844695013686.xml.2011-10-03.11      2011-10-03 21:09:17.194125000 +0900&lt;br /&gt;+++ template-6143936844695013686.xml    2011-10-03 21:17:21.959750000 +0900&lt;br /&gt;@@ -1627,7 +1627,7 @@&lt;br /&gt; &amp;lt;b:includable id='main' var='top'&amp;gt;&lt;br /&gt;   &amp;lt;b:if cond='data:mobile == &amp;amp;quot;false&amp;amp;quot;'&amp;gt;&lt;br /&gt;&lt;br /&gt;-&amp;lt;b:if cond='data:blog.pageType == &amp;amp;quot;index&amp;amp;quot;'&amp;gt;&lt;br /&gt;+&amp;lt;b:if cond='data:blog.url == data:blog.homepageUrl'&amp;gt;&lt;br /&gt; &amp;lt;div class='if-cond-data-blog-pageType-index'&amp;gt;&lt;br /&gt; ようこそ&amp;amp;#65281;&amp;amp;#65281;&amp;lt;br/&amp;gt;&lt;br /&gt; 現在トップページを表示しています&amp;amp;#12290;&amp;lt;br/&amp;gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6143936844695013686-7436457612798560204?l=insnvlovn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://insnvlovn.blogspot.com/feeds/7436457612798560204/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6143936844695013686&amp;postID=7436457612798560204' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/7436457612798560204'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/7436457612798560204'/><link rel='alternate' type='text/html' href='http://insnvlovn.blogspot.com/2011/10/blogger.html' title='bloggerのトップページに文言を追加'/><author><name>insn</name><uri>http://www.blogger.com/profile/05196582005861324185</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6143936844695013686.post-850321736021215006</id><published>2011-10-02T07:43:00.007+09:00</published><updated>2011-10-05T04:16:04.926+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='amazon'/><title type='text'>amazon商品リンクのサンプル</title><content type='html'>追記(2011-10-05): 間違っているので使わないでください。&lt;br /&gt;&lt;br /&gt;&lt;s&gt;リンク＆バナーの、商品リンクの、画像のみの場合の入力の補助です。&lt;br /&gt;うまく動かないかもしれないので、試す場合は注意してください。&lt;br /&gt;多分もっといいのがあるので、他も試すことをお勧めします。&lt;br /&gt;&lt;br /&gt;idのxxx-22の部分を変更します。&lt;br /&gt;listに文字を記入します。商品ごとのURLに文字があります。&lt;br /&gt;&lt;pre&gt;&lt;s&gt;http://www.amazon.co.jp/gp/product/&lt;strong&gt;xxx&lt;/strong&gt;/...&lt;/s&gt;&lt;/pre&gt;横幅固定の場合sizeにSX200などを記入します。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;s&gt;&amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&lt;br /&gt;&amp;lt;!--&lt;br /&gt;#amazontest001, #amazontest001 * {&lt;br /&gt;  border-width: 0;&lt;br /&gt;  display: block;&lt;br /&gt;  float: left;&lt;br /&gt;  overflow: visible;&lt;br /&gt;  width: 180px;&lt;br /&gt;}&lt;br /&gt;#amazontest001 script {&lt;br /&gt;  display: none;&lt;br /&gt;}&lt;br /&gt;#amazontest001 a img {&lt;br /&gt;  border: 3px solid #579BDF;&lt;br /&gt;}&lt;br /&gt;#amazontest001 a:hover img {&lt;br /&gt;  border: 3px solid #FDB975;&lt;br /&gt;}&lt;br /&gt;#amazontest001 .separation {&lt;br /&gt;  height: 1em;&lt;br /&gt;}&lt;br /&gt;#amazontest001 {&lt;br /&gt;  margin-top: 0.5em;&lt;br /&gt;}&lt;br /&gt;--&amp;gt;&lt;br /&gt;&amp;lt;/style&amp;gt;&lt;br /&gt;&amp;lt;div id=&amp;quot;amazontest001&amp;quot;&amp;gt;&lt;br /&gt;&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;//&amp;lt;![CDATA[&amp;lt;!--&lt;br /&gt;try{(function(){&lt;br /&gt;    var list = [&lt;br /&gt;        &amp;quot;4777514897&amp;quot;,&lt;br /&gt;        &amp;quot;4798028622&amp;quot;,&lt;br /&gt;        &amp;quot;4798123358&amp;quot;,&lt;br /&gt;        &amp;quot;4048684116&amp;quot;,&lt;br /&gt;        &amp;quot;4774142948&amp;quot;,&lt;br /&gt;        &amp;quot;4774144371&amp;quot;,&lt;br /&gt;        &amp;quot;4797361190&amp;quot;,&lt;br /&gt;        &amp;quot;&amp;quot;],&lt;br /&gt;    size = &amp;quot;SX180&amp;quot;,&lt;br /&gt;    id = &amp;quot;xxx-22&amp;quot;,&lt;br /&gt;    template = '&amp;lt;a href=&amp;quot;http://www.amazon.co.jp/gp/product/__141421356__17320508__/ref=as_li_tf_il?ie=UTF8&amp;amp;tag=__associateID__&amp;amp;linkCode=as2&amp;amp;camp=247&amp;amp;creative=1211&amp;amp;creativeASIN=__141421356__17320508__&amp;quot;&amp;gt;&amp;lt;img border=&amp;quot;0&amp;quot; src=&amp;quot;http://ws.assoc-amazon.jp/widgets/q?_encoding=UTF8&amp;amp;Format=_SL160_&amp;amp;ASIN=__141421356__17320508__&amp;amp;MarketPlace=JP&amp;amp;ID=AsinImage&amp;amp;WS=1&amp;amp;tag=__associateID__&amp;amp;ServiceVersion=20070822&amp;quot; &amp;gt;&amp;lt;/a&amp;gt;&amp;lt;img src=&amp;quot;http://www.assoc-amazon.jp/e/ir?t=__associateID__&amp;amp;l=as2&amp;amp;o=9&amp;amp;a=__141421356__17320508__&amp;quot; width=&amp;quot;1&amp;quot; height=&amp;quot;1&amp;quot; border=&amp;quot;0&amp;quot; alt=&amp;quot;&amp;quot; style=&amp;quot;border:none !important; margin:0px !important;&amp;quot; /&amp;gt;',&lt;br /&gt;    i;&lt;br /&gt;    for (i in list)&lt;br /&gt;    {&lt;br /&gt;        if (list[i].length != 0)&lt;br /&gt;        {&lt;br /&gt;            if (i != 0)&lt;br /&gt;            {&lt;br /&gt;                window.document.write('&amp;lt;div class=&amp;quot;separation&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;');&lt;br /&gt;            }&lt;br /&gt;            window.document.write(&lt;br /&gt;                template&lt;br /&gt;                    .replace(/__141421356__17320508__/g, list[i])&lt;br /&gt;                    .replace(&amp;quot;Format=_SL160_&amp;quot;, &amp;quot;Format=_&amp;quot; + size + &amp;quot;_&amp;quot;)&lt;br /&gt;                    .replace(&amp;quot;__associateID__&amp;quot;, id)&lt;br /&gt;            );&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;})();}catch(e){window.document.write(&amp;quot;&amp;lt;&amp;quot;+&amp;quot;pre&amp;gt;Error: &amp;quot; + e + &amp;quot;&amp;lt;&amp;quot;+&amp;quot;/pre&amp;gt;&amp;quot;);}&lt;br /&gt;//--&amp;gt;]]&amp;gt;&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;br clear=&amp;quot;all&amp;quot; style=&amp;quot;clear: both&amp;quot; /&amp;gt;&lt;/s&gt;&lt;/pre&gt;&lt;/s&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6143936844695013686-850321736021215006?l=insnvlovn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://insnvlovn.blogspot.com/feeds/850321736021215006/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6143936844695013686&amp;postID=850321736021215006' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/850321736021215006'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/850321736021215006'/><link rel='alternate' type='text/html' href='http://insnvlovn.blogspot.com/2011/10/amazon.html' title='amazon商品リンクのサンプル'/><author><name>insn</name><uri>http://www.blogger.com/profile/05196582005861324185</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6143936844695013686.post-2589198170096887536</id><published>2011-09-27T20:21:00.000+09:00</published><updated>2011-09-27T20:21:55.490+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ウイスキー'/><title type='text'>KENTUCKY TAVERN BOURBON 750ml</title><content type='html'>ウイスキーのメモです。&lt;br /&gt;近所のスーパーで980円でした。&lt;br /&gt;買わずにうろ覚えで検索してもヒットしないので買ってみました。&lt;br /&gt;&lt;br /&gt;味は・・・&lt;br /&gt;たしかにフルーティーな感じです。似たような商品の評価がそう書いて有りましたが私もそう思います。&lt;br /&gt;これで香料とかが入っていないのであれば、きっと樽がそういう臭いなのだと思います。&lt;br /&gt;飲みやすいような気がしますが私は酒に弱いのでコップ半分でクラクラします。100cc前後です。&lt;br /&gt;やはり飲み物というよりはこれがメインでサブで味の濃いものが合うと思います。&lt;br /&gt;たぶん割るとあまり意味無いのでストレートかロックが好きな酒に強めの若い方にお勧めです。&lt;br /&gt;値段的には国内のwebサイトで同一の商品を探せなかったので不明です。&lt;br /&gt;&lt;br /&gt;表。&lt;br /&gt;&lt;pre&gt;KENTUCKY&lt;br /&gt;TAVERN&lt;br /&gt;PREMIUM BOURBON&lt;br /&gt;...&lt;br /&gt;40% ...&lt;/pre&gt;&lt;br /&gt;裏。&lt;br /&gt;&lt;pre&gt;バーボンウイスキー&lt;br /&gt;ケンタッキーターバン&lt;br /&gt;--------&lt;br /&gt;ほどよい香りが漂う&lt;br /&gt;本場アメリカのバーボンウイスキー&lt;br /&gt;--------&lt;br /&gt;品目        : ウイスキー&lt;br /&gt;原材料      : モルト、グレーン&lt;br /&gt;アルコール分: 40度&lt;br /&gt;内容量      : 750ml&lt;br /&gt;原産国名    : アメリカ合衆国&lt;br /&gt;輸入者及び  : 株式会社シジシージャパン&lt;br /&gt;取引先        ...&lt;br /&gt;              ...&lt;br /&gt;...&lt;/pre&gt;&lt;br /&gt;検索したところ、これだ！！というのにはヒットしませんでした。&lt;br /&gt;似ているのを載せます。&lt;br /&gt;「KENTUCKY TAVERN BOURBON 750ml」などで検索しました。&lt;br /&gt;&lt;br /&gt;海外のサイトでPrice: $7.99でした。80度とありますが画像が40度とあるのでたぶん同じかもしれません。&lt;br /&gt;&lt;a href="http://www.thepartysource.com/whiskey/shop_whiskey.php?Id=60"&gt;http://www.thepartysource.com/whiskey/shop_whiskey.php?Id=60&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;違いますが似ているので載せます。43度とあり売り切れです。&lt;br /&gt;&lt;a href="http://item.rakuten.co.jp/kawachi/392179/"&gt;http://item.rakuten.co.jp/kawachi/392179/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;輸入者がCGCジャパンとありますがサイト内検索ではヒットしませんでした。&lt;br /&gt;&lt;a href="http://www.cgcjapan.co.jp/index.php"&gt;http://www.cgcjapan.co.jp/index.php&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6143936844695013686-2589198170096887536?l=insnvlovn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://insnvlovn.blogspot.com/feeds/2589198170096887536/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6143936844695013686&amp;postID=2589198170096887536' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/2589198170096887536'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/2589198170096887536'/><link rel='alternate' type='text/html' href='http://insnvlovn.blogspot.com/2011/09/kentucky-tavern-bourbon-750ml.html' title='KENTUCKY TAVERN BOURBON 750ml'/><author><name>insn</name><uri>http://www.blogger.com/profile/05196582005861324185</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6143936844695013686.post-7204899321224649855</id><published>2011-08-08T15:53:00.001+09:00</published><updated>2011-08-08T16:08:12.686+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mysql'/><category scheme='http://www.blogger.com/atom/ns#' term='PostgreSQL'/><title type='text'>LIMIT付きのSELECT文の行数</title><content type='html'>参考URL。&lt;br /&gt;&lt;a href="http://www.postgresql.org/docs/8.4/static/tutorial-window.html"&gt;http://www.postgresql.org/docs/8.4/static/tutorial-window.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.postgresql.jp/document/8.4/html/tutorial-window.html"&gt;http://www.postgresql.jp/document/8.4/html/tutorial-window.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://hibari.2ch.net/test/read.cgi/db/1294641578/401-497"&gt;http://hibari.2ch.net/test/read.cgi/db/1294641578/401-497&lt;/a&gt;&lt;br /&gt;&lt;!--PostgreSQL,MySQLの比較のメモ。1回で取得するのはPostgreSQLに無いと思っていたのでメモする。速度を比較する場合、行数とWHERE句を増やす。下記の例では速度面の有用性がわからない。--&gt;&lt;br /&gt;PostgreSQL。&lt;br /&gt;&lt;pre&gt;$ eix postgresql-server -cI&lt;br /&gt;[I] dev-db/postgresql-server (9.0.4-r1(9.0)@2011年07月04日): PostgreSQL server&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;user=# CREATE TABLE test001 (id SERIAL, data TEXT);&lt;br /&gt;NOTICE:  CREATE TABLEはシリアル列"test001.id"用に暗黙的なシーケンス"test001_id_seq"を作成します。&lt;br /&gt;CREATE TABLE&lt;br /&gt;user=# INSERT INTO test001 (data) VALUES ('aaa');&lt;br /&gt;INSERT 0 1&lt;br /&gt;user=# INSERT INTO test001 (data) VALUES ('bbb');&lt;br /&gt;INSERT 0 1&lt;br /&gt;user=# INSERT INTO test001 (data) VALUES ('ccc');&lt;br /&gt;INSERT 0 1&lt;br /&gt;user=# SELECT * FROM test001 ORDER BY id DESC;&lt;br /&gt; id | data&lt;br /&gt;----+------&lt;br /&gt;  3 | ccc&lt;br /&gt;  2 | bbb&lt;br /&gt;  1 | aaa&lt;br /&gt;(3 行)&lt;br /&gt;&lt;br /&gt;user=# SELECT COUNT(*) AS cntall FROM test001;&lt;br /&gt; cntall&lt;br /&gt;--------&lt;br /&gt;      3&lt;br /&gt;(1 行)&lt;br /&gt;&lt;br /&gt;user=# SELECT *,COUNT(*) OVER() AS cntall FROM test001 ORDER BY id DESC LIMIT 1;&lt;br /&gt; id | data | cntall&lt;br /&gt;----+------+--------&lt;br /&gt;  3 | ccc  |      3&lt;br /&gt;(1 行)&lt;br /&gt;&lt;br /&gt;user=#&lt;/pre&gt;&lt;br /&gt;MySQL。&lt;br /&gt;&lt;pre&gt;$ eix -e dev-db/mysql -cI&lt;br /&gt;[I] dev-db/mysql (5.1.56@2011年05月09日): A fast, multi-threaded, multi-user SQL database server.&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;mysql&gt; CREATE TABLE test001 (id SERIAL, data TEXT);&lt;br /&gt;Query OK, 0 rows affected (0.23 sec)&lt;br /&gt;&lt;br /&gt;mysql&gt; INSERT INTO test001 (data) VALUES ('aaa');&lt;br /&gt;Query OK, 1 row affected (0.93 sec)&lt;br /&gt;&lt;br /&gt;mysql&gt; INSERT INTO test001 (data) VALUES ('bbb');&lt;br /&gt;Query OK, 1 row affected (0.15 sec)&lt;br /&gt;&lt;br /&gt;mysql&gt; INSERT INTO test001 (data) VALUES ('ccc');&lt;br /&gt;Query OK, 1 row affected (0.14 sec)&lt;br /&gt;&lt;br /&gt;mysql&gt; SELECT * FROM test001 ORDER BY id DESC;&lt;br /&gt;+----+------+&lt;br /&gt;| id | data |&lt;br /&gt;+----+------+&lt;br /&gt;|  3 | ccc  |&lt;br /&gt;|  2 | bbb  |&lt;br /&gt;|  1 | aaa  |&lt;br /&gt;+----+------+&lt;br /&gt;3 rows in set (0.00 sec)&lt;br /&gt;&lt;br /&gt;mysql&gt; SELECT COUNT(*) AS cntall FROM test001;&lt;br /&gt;+--------+&lt;br /&gt;| cntall |&lt;br /&gt;+--------+&lt;br /&gt;|      3 |&lt;br /&gt;+--------+&lt;br /&gt;1 row in set (0.00 sec)&lt;br /&gt;&lt;br /&gt;mysql&gt; SELECT SQL_CALC_FOUND_ROWS * FROM test001 ORDER BY id DESC LIMIT 1;&lt;br /&gt;+----+------+&lt;br /&gt;| id | data |&lt;br /&gt;+----+------+&lt;br /&gt;|  3 | ccc  |&lt;br /&gt;+----+------+&lt;br /&gt;1 row in set (0.00 sec)&lt;br /&gt;&lt;br /&gt;mysql&gt; SELECT FOUND_ROWS() AS cntall;&lt;br /&gt;+--------+&lt;br /&gt;| cntall |&lt;br /&gt;+--------+&lt;br /&gt;|      3 |&lt;br /&gt;+--------+&lt;br /&gt;1 row in set (0.00 sec)&lt;br /&gt;&lt;br /&gt;mysql&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6143936844695013686-7204899321224649855?l=insnvlovn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://insnvlovn.blogspot.com/feeds/7204899321224649855/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6143936844695013686&amp;postID=7204899321224649855' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/7204899321224649855'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/7204899321224649855'/><link rel='alternate' type='text/html' href='http://insnvlovn.blogspot.com/2011/08/limitselect.html' title='LIMIT付きのSELECT文の行数'/><author><name>insn</name><uri>http://www.blogger.com/profile/05196582005861324185</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6143936844695013686.post-180579468823960718</id><published>2011-08-04T08:27:00.000+09:00</published><updated>2011-08-04T08:27:45.751+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gentoo'/><title type='text'>gentooのOS起動時の設定の修正のメモ</title><content type='html'>システム更新後、OS起動時にiptablesがエラーになるので /etc/rc.conf の rc_parallel="YES" をNOに戻しました。&lt;br /&gt;上記の修復時に /dev/md1 などがインストールCD利用後に名前が変わるので /etc/fstab にUUIDで指定しました。&lt;br /&gt;grub.conf に UUIDではなく real_root=/dev/md126 を指定しました。書き方が間違っている、もしくは、grubが未対応でした。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;以下は詳細。&lt;br /&gt;&lt;br /&gt;起動時にsysctlでエラー。&lt;br /&gt;起動後にsysctl再起動でエラー無し。&lt;br /&gt;起動時にbridgeモジュールが呼ばれていない。&lt;br /&gt;どこかで起動後までに呼ばれる。&lt;br /&gt;&lt;pre&gt;$ lsmod | grep ^bridge&lt;br /&gt;bridge                 61076  0&lt;/pre&gt;&lt;br /&gt;たぶん以前に自動で追記された。これが無いとホストOS以外からsshなどができない。ブリッジのiptablesをoff。&lt;br /&gt;&lt;pre&gt;&amp;gt; #&lt;br /&gt;&amp;gt; # Setup bridge interface for KVM&lt;br /&gt;&amp;gt; #&lt;br /&gt;&amp;gt; net.bridge.bridge-nf-call-arptables = 0&lt;br /&gt;&amp;gt; net.bridge.bridge-nf-call-iptables = 0&lt;br /&gt;&amp;gt; net.bridge.bridge-nf-call-ip6tables = 0&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;$ cat /proc/sys/net/bridge/bridge-nf-call-arptables&lt;br /&gt;0&lt;/pre&gt;&lt;br /&gt;mdXXが変化するのでUUIDに変えた。grubの方はreal_root=UUID=xxxとしてもダメだったので直接指定した。&lt;br /&gt;たぶんgrubのバージョンが古い、か記述内容が悪い。&lt;br /&gt;&lt;br /&gt;mdXXXが変化した流れは、&lt;br /&gt;OS起動時にiptablesが永遠に起動しない？&lt;br /&gt;=&amp;gt; インストールCDで起動して修正する&lt;br /&gt;=&amp;gt; mdXXが変わった。swapだけ戻してみたところ戻ったがUUIDに変更した。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;$ rcsdiff -r1.6 /etc/config-archive/etc/fstab,v /etc/fstab&lt;br /&gt;===================================================================&lt;br /&gt;RCS file: /etc/config-archive/etc/fstab,v&lt;br /&gt;retrieving revision 1.6&lt;br /&gt;diff -r1.6 /etc/fstab&lt;br /&gt;17,20c17,20&lt;br /&gt;&amp;lt; /dev/md1              /boot           ext2            noauto,noatime  1 2&lt;br /&gt;&amp;lt; /dev/md3              /               ext4            noatime         0 1&lt;br /&gt;&amp;lt; /dev/md4              /mnt/share      ext4            noatime         0 1&lt;br /&gt;&amp;lt; /dev/md2              none            swap            sw              0 0&lt;br /&gt;---&lt;br /&gt;&amp;gt; UUID="87371e13-1bc9-4545-9c6e-4ef68e95551a"   /boot           ext2            noauto,noatime  1 2&lt;br /&gt;&amp;gt; UUID="57dc8825-419e-46e4-9c80-acc1d644f7ac"   /               ext4            noatime         0 1&lt;br /&gt;&amp;gt; UUID="e5ab4584-6bde-4e4d-ae0d-ce990d5dae7d"   /mnt/share      ext4            noatime         0 1&lt;br /&gt;&amp;gt; UUID="9867bd93-a5da-4919-b69c-5a73a887c1d1"   none            swap            sw              0 0&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;$ rcsdiff -u -r1.24 /etc/config-archive/boot/grub/grub.conf,v /boot/grub/grub.conf&lt;br /&gt;===================================================================&lt;br /&gt;RCS file: /etc/config-archive/boot/grub/grub.conf,v&lt;br /&gt;retrieving revision 1.24&lt;br /&gt;diff -u -r1.24 /boot/grub/grub.conf&lt;br /&gt;--- /boot/grub/grub.conf        2011/06/08 01:00:24     1.24&lt;br /&gt;+++ /boot/grub/grub.conf        2011/08/02 09:16:16&lt;br /&gt;@@ -10,7 +10,7 @@&lt;br /&gt;&lt;br /&gt; title Gentoo Linux 2.6.38-hardened-r6&lt;br /&gt; root (hd0,0)&lt;br /&gt;-kernel /boot/kernel-genkernel-x86_64-2.6.38-hardened-r6 root=/dev/ram0 init=/linuxrc ramdisk=8192 udev domdadm real_root=/dev/md3&lt;br /&gt;+kernel /boot/kernel-genkernel-x86_64-2.6.38-hardened-r6 root=/dev/ram0 init=/linuxrc ramdisk=8192 udev domdadm real_root=/dev/md126&lt;br /&gt; initrd /boot/initramfs-genkernel-x86_64-2.6.38-hardened-r6&lt;br /&gt;&lt;br /&gt; title Gentoo Linux 2.6.36-hardened-r9&lt;/pre&gt;&lt;br /&gt;swapoffして再作成したら戻った。&lt;br /&gt;&lt;pre&gt;sudo swapoff -a&lt;br /&gt;sudo mdadm --misc --stop /dev/md2&lt;br /&gt;sudo mdadm --create /dev/md2 --metadata=0.90 --level=1 --raid-devices=2 /dev/sda2 /dev/sdb2&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;$ cat /proc/mdstat&lt;br /&gt;Personalities : [raid1]&lt;br /&gt;md124 : active raid1 sdb1[1] sda1[0]&lt;br /&gt;      256896 blocks [2/2] [UU]&lt;br /&gt;&lt;br /&gt;md2 : active raid1 sdb2[1] sda2[0]&lt;br /&gt;      15631168 blocks [2/2] [UU]&lt;br /&gt;&lt;br /&gt;md127 : active raid1 sdb4[1] sda4[0]&lt;br /&gt;      929617216 blocks [2/2] [UU]&lt;br /&gt;&lt;br /&gt;md126 : active raid1 sdb3[1] sda3[0]&lt;br /&gt;      31254336 blocks [2/2] [UU]&lt;br /&gt;&lt;br /&gt;unused devices: &amp;lt;none&amp;gt;&lt;/pre&gt;&lt;br /&gt;起動時のモジュールの追加。&lt;br /&gt;&lt;pre&gt;$ rcsdiff /etc/config-archive/usr/share/genkernel/arch/x86_64/modules_load,v /usr/share/genkernel/arch/x86_64/modules_load&lt;br /&gt;===================================================================&lt;br /&gt;RCS file: /etc/config-archive/usr/share/genkernel/arch/x86_64/modules_load,v&lt;br /&gt;retrieving revision 1.7&lt;br /&gt;diff -r1.7 /usr/share/genkernel/arch/x86_64/modules_load&lt;br /&gt;17c17&lt;br /&gt;&amp;lt; MODULES_NET="r8169 mii ipv6"&lt;br /&gt;---&lt;br /&gt;&amp;gt; MODULES_NET="r8169 mii ipv6 bridge iptable_filter"&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;$ sudo genkernel --makeopts="-j8 KCFLAGS=\\\"-march=amdfam10 -mcx16 -msahf -mpopcnt --param l1-cache-size=64 --param l1-cache-line-size=64 --param l2-cache-size=512 -mtune=amdfam10 -Os\\\"" --kernel-config=/etc/kernels/kernel-config-x86_64-2.6.38-hardened-r6 initramfs&lt;/pre&gt;&lt;br /&gt;起動時にiptablesがONだと起動できない状態に変化無し。&lt;br /&gt;&lt;pre&gt;$ rc-update show | grep ipt&lt;br /&gt;             iptables |      default&lt;/pre&gt;&lt;br /&gt;OS起動時のソフトウェア起動の並列化をOFF。&lt;br /&gt;&lt;pre&gt;$ rcsdiff /etc/config-archive/etc/rc.conf,v /etc/rc.conf&lt;br /&gt;===================================================================&lt;br /&gt;RCS file: /etc/config-archive/etc/rc.conf,v&lt;br /&gt;retrieving revision 1.9&lt;br /&gt;diff -r1.9 /etc/rc.conf&lt;br /&gt;10c10&lt;br /&gt;&amp;lt; rc_parallel="YES"&lt;br /&gt;---&lt;br /&gt;&amp;gt; rc_parallel="NO"&lt;/pre&gt;&lt;br /&gt;いつの更新でOS起動が出来なくなっていたかは不明。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6143936844695013686-180579468823960718?l=insnvlovn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://insnvlovn.blogspot.com/feeds/180579468823960718/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6143936844695013686&amp;postID=180579468823960718' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/180579468823960718'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/180579468823960718'/><link rel='alternate' type='text/html' href='http://insnvlovn.blogspot.com/2011/08/gentooos.html' title='gentooのOS起動時の設定の修正のメモ'/><author><name>insn</name><uri>http://www.blogger.com/profile/05196582005861324185</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6143936844695013686.post-6039582752735221711</id><published>2011-07-21T17:17:00.000+09:00</published><updated>2011-07-21T17:18:02.707+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='X Window'/><title type='text'>/etc/X11/xorg.confの修正</title><content type='html'>参考URL。&lt;br /&gt;&lt;a href="http://www.gentoo.org/doc/ja/xorg-config.xml"&gt;http://www.gentoo.org/doc/ja/xorg-config.xml&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;バージョン。&lt;br /&gt;&lt;pre&gt;$ eix xorg -cI&lt;br /&gt;[I] x11-base/xorg-drivers (1.10@2011年06月26日): Meta package containing deps on all xorg drivers&lt;br /&gt;[I] x11-base/xorg-server (1.10.2@2011年06月26日): X.Org X servers&lt;br /&gt;[I] x11-base/xorg-x11 (7.4-r1@2011年03月28日): An X11 implementation maintained by the X.Org Foundation (meta package)&lt;br /&gt;Found 3 matches.&lt;/pre&gt;&lt;br /&gt;グラフィックのハードウェア。ディスプレイはRDG17X(古い)&lt;br /&gt;&lt;pre&gt;$ lspci|grep -i gra&lt;br /&gt;01:05.0 VGA compatible controller: ATI Technologies Inc Radeon HD 3200 Graphics&lt;/pre&gt;&lt;br /&gt;make.confの設定。&lt;br /&gt;&lt;pre&gt;$ grep -P "^(INPUT_DEVICES|VIDEO_CARDS)" /etc/make.conf&lt;br /&gt;INPUT_DEVICES="evdev keyboard mouse"&lt;br /&gt;VIDEO_CARDS="radeon"&lt;/pre&gt;&lt;br /&gt;設定用コマンドで設定の雛形を作成する。&lt;br /&gt;キーボードの設定を追加する。&lt;br /&gt;解像度と色の設定を追加する。&lt;br /&gt;&lt;pre&gt;### Ctrl + Alt + F1 などでCUIの画面を表示する。&lt;br /&gt;$ /etc/init.d/xdm stop&lt;br /&gt;$ Xorg -configure&lt;br /&gt;$ cp -i xorg.conf.new /etc/X11/xorg.conf&lt;br /&gt;$ emacs /etc/X11/xorg.conf&lt;br /&gt;$ diff -u xorg.conf.new /etc/X11/xorg.conf&lt;br /&gt;--- xorg.conf.new       2011-07-21 16:12:41.319315470 +0900&lt;br /&gt;+++ /etc/X11/xorg.conf  2011-07-21 16:32:41.389584448 +0900&lt;br /&gt;@@ -27,6 +27,8 @@&lt;br /&gt; Section "InputDevice"&lt;br /&gt;        Identifier  "Keyboard0"&lt;br /&gt;        Driver      "kbd"&lt;br /&gt;+       Option    "XkbModel"  "jp106"&lt;br /&gt;+       Option    "XkbLayout" "jp"&lt;br /&gt; EndSection&lt;br /&gt;&lt;br /&gt; Section "InputDevice"&lt;br /&gt;@@ -122,6 +124,7 @@&lt;br /&gt;        Identifier "Screen0"&lt;br /&gt;        Device     "Card0"&lt;br /&gt;        Monitor    "Monitor0"&lt;br /&gt;+       DefaultDepth  24&lt;br /&gt;        SubSection "Display"&lt;br /&gt;                Viewport   0 0&lt;br /&gt;                Depth     1&lt;br /&gt;@@ -145,6 +148,7 @@&lt;br /&gt;        SubSection "Display"&lt;br /&gt;                Viewport   0 0&lt;br /&gt;                Depth     24&lt;br /&gt;+               Modes   "1280x1024"&lt;br /&gt;        EndSubSection&lt;br /&gt; EndSection&lt;br /&gt;&lt;br /&gt;$ /etc/init.d/xdm start&lt;br /&gt;### Ctrl + Alt + F7 などで戻る。&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;以下はメモです。&lt;br /&gt;&lt;br /&gt;現在halを使っていない。たぶん更新時のメッセージに従って何かしたように思う。&lt;br /&gt;&lt;pre&gt;$ eix -e hal -c&lt;br /&gt;[N] sys-apps/hal (0.5.14-r4): Hardware Abstraction Layer&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;$ grep -P "^(INPUT_DEVICES|VIDEO_CARDS)" /etc/make.conf&lt;br /&gt;INPUT_DEVICES="evdev keyboard mouse"&lt;br /&gt;VIDEO_CARDS="radeon"&lt;/pre&gt;&lt;br /&gt;http://www.gentoo.org/doc/ja/xorg-config.xml&lt;br /&gt;&lt;pre&gt;$ grep jp /etc/X11/xorg.conf&lt;br /&gt;        Option    "XkbModel"  "jp106"&lt;br /&gt;        Option    "XkbLayout" "jp"&lt;/pre&gt;&lt;br /&gt;エラーが出ている。&lt;br /&gt;&lt;pre&gt;$ grep -P "WW|EE" /var/log/Xorg.0.log&lt;br /&gt;        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.&lt;br /&gt;[    33.404] (WW) Hotplugging is on, devices using drivers 'kbd', 'mouse' or 'vmmouse' will be disabled.&lt;br /&gt;[    33.404] (WW) Disabling Mouse0&lt;br /&gt;[    33.404] (WW) Disabling Keyboard0&lt;br /&gt;[    33.406] (WW) Open ACPI failed (/var/run/acpid.socket) (No such file or directory)&lt;br /&gt;[    33.637] (WW) Warning, couldn't open module xtrap&lt;br /&gt;[    33.637] (EE) Failed to load module "xtrap" (module does not exist, 0)&lt;br /&gt;[    33.648] (II) Loading extension MIT-SCREEN-SAVER&lt;br /&gt;[    33.901] (WW) Warning, couldn't open module vesa&lt;br /&gt;[    33.901] (EE) Failed to load module "vesa" (module does not exist, 0)&lt;br /&gt;[    33.901] (WW) Warning, couldn't open module fbdev&lt;br /&gt;[    33.901] (EE) Failed to load module "fbdev" (module does not exist, 0)&lt;br /&gt;[    34.785] (EE) RADEON(0): [dri] RADEONDRIGetVersion failed to open the DRM&lt;br /&gt;[    35.173] (WW) RADEON(0): Direct rendering disabled&lt;br /&gt;[    35.173] (EE) RADEON(0): Acceleration initialization failed&lt;br /&gt;[    35.334] (WW) RADEON(0): Option "XAANoOffscreenPixmaps" is not used&lt;/pre&gt;&lt;br /&gt;たぶん以前必要だった設定が残っているだけ。&lt;br /&gt;&lt;pre&gt;$ grep -P "Section.*Module" -A6 /etc/X11/xorg.conf&lt;br /&gt;Section "Module"&lt;br /&gt;        Load  "dbe"&lt;br /&gt;        Load  "record"&lt;br /&gt;        Load  "xtrap"&lt;br /&gt;        Load  "extmod"&lt;br /&gt;        Load  "dri"&lt;br /&gt;EndSection&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;現在の状態でデフォルトの設定ファイルを作成した。&lt;br /&gt;&lt;pre&gt;# /etc/init.d/xdm stop&lt;br /&gt;# Xorg -configure&lt;/pre&gt;&lt;br /&gt;キーボード関連以外そのまま使っても動きそうに見える。&lt;br /&gt;&lt;pre&gt;# diff xorg.conf.new /etc/X11/xorg.conf&lt;br /&gt;12c12&lt;br /&gt;&amp;lt;       FontPath     "/usr/share/fonts/OTF/"&lt;br /&gt;---&lt;br /&gt;&gt;       FontPath     "/usr/share/fonts/OTF"&lt;br /&gt;20a21&lt;br /&gt;&gt;       Load  "xtrap"&lt;br /&gt;23,24d23&lt;br /&gt;&amp;lt;       Load  "dri2"&lt;br /&gt;&amp;lt;       Load  "glx"&lt;br /&gt;29a29,30&lt;br /&gt;&gt;       Option    "XkbModel"  "jp106"&lt;br /&gt;&gt;       Option    "XkbLayout" "jp"&lt;br /&gt;53,54c54&lt;br /&gt;&amp;lt;         ### &amp;lt;string&gt;: "String", &amp;lt;freq&gt;: "&amp;lt;f&gt; Hz/kHz/MHz",&lt;br /&gt;&amp;lt;         ### &amp;lt;percent&gt;: "&amp;lt;f&gt;%"&lt;br /&gt;---&lt;br /&gt;&gt;         ### &amp;lt;string&gt;: "String", &amp;lt;freq&gt;: "&amp;lt;f&gt; Hz/kHz/MHz"&lt;br /&gt;78d77&lt;br /&gt;&amp;lt;         #Option     "CustomEDID"              # [&amp;lt;str&gt;]&lt;br /&gt;94c93,94&lt;br /&gt;&amp;lt;         #Option     "ClockGating"             # [&amp;lt;bool&gt;]&lt;br /&gt;---&lt;br /&gt;&gt;         #Option     "ShowCache"               # [&amp;lt;bool&gt;]&lt;br /&gt;&gt;         #Option     "DynamicClocks"           # [&amp;lt;bool&gt;]&lt;br /&gt;112,115d111&lt;br /&gt;&amp;lt;         #Option     "ForceLowPowerMode"       # [&amp;lt;bool&gt;]&lt;br /&gt;&amp;lt;         #Option     "DynamicPM"               # [&amp;lt;bool&gt;]&lt;br /&gt;&amp;lt;         #Option     "NewPLL"                  # [&amp;lt;bool&gt;]&lt;br /&gt;&amp;lt;         #Option     "ZaphodHeads"             # &amp;lt;str&gt;&lt;br /&gt;117c113,115&lt;br /&gt;&amp;lt;       Driver      "radeon"&lt;br /&gt;---&lt;br /&gt;&gt;       #Driver      "fglrx"&lt;br /&gt;&gt;       VendorName  "ATI Technologies Inc"&lt;br /&gt;&gt;       BoardName   "Radeon HD 3200 Graphics"&lt;br /&gt;118a117&lt;br /&gt;&gt;       Option "XAANoOffscreenPixmaps" "true"&lt;br /&gt;124a124&lt;br /&gt;&gt;       DefaultDepth  24&lt;br /&gt;143a144&lt;br /&gt;&gt;               Modes   "1280x1024"&lt;br /&gt;147a149&lt;br /&gt;&gt;               Modes   "1280x1024"&lt;br /&gt;150a153,159&lt;br /&gt;&gt; Section "Extensions"&lt;br /&gt;&gt;       Option  "Composite"  "Enable"&lt;br /&gt;&gt; EndSection&lt;br /&gt;&gt;&lt;br /&gt;&gt; #Section "ServerFlags"&lt;br /&gt;&gt; #     Option "AllowEmptyInput" "off"&lt;br /&gt;&gt; #EndSection&lt;/pre&gt;&lt;br /&gt;コピーして再起動したところ、映らなくなった。&lt;br /&gt;&lt;pre&gt;# cp -i xorg.conf.new /etc/X11/xorg.conf&lt;br /&gt;# /etc/init.d/xdm restart&lt;/pre&gt;&lt;br /&gt;http://www.gentoo.org/doc/ja/xorg-config.xml&lt;br /&gt;&lt;br /&gt;追加した。半角/全角のキーも動作した。&lt;br /&gt;&lt;pre&gt;# diff -u xorg.conf.new /etc/X11/xorg.conf&lt;br /&gt;--- xorg.conf.new       2011-07-21 16:12:41.319315470 +0900&lt;br /&gt;+++ /etc/X11/xorg.conf  2011-07-21 16:32:41.389584448 +0900&lt;br /&gt;@@ -27,6 +27,8 @@&lt;br /&gt; Section "InputDevice"&lt;br /&gt;        Identifier  "Keyboard0"&lt;br /&gt;        Driver      "kbd"&lt;br /&gt;+       Option    "XkbModel"  "jp106"&lt;br /&gt;+       Option    "XkbLayout" "jp"&lt;br /&gt; EndSection&lt;br /&gt;&lt;br /&gt; Section "InputDevice"&lt;br /&gt;@@ -122,6 +124,7 @@&lt;br /&gt;        Identifier "Screen0"&lt;br /&gt;        Device     "Card0"&lt;br /&gt;        Monitor    "Monitor0"&lt;br /&gt;+       DefaultDepth  24&lt;br /&gt;        SubSection "Display"&lt;br /&gt;                Viewport   0 0&lt;br /&gt;                Depth     1&lt;br /&gt;@@ -145,6 +148,7 @@&lt;br /&gt;        SubSection "Display"&lt;br /&gt;                Viewport   0 0&lt;br /&gt;                Depth     24&lt;br /&gt;+               Modes   "1280x1024"&lt;br /&gt;        EndSubSection&lt;br /&gt; EndSection&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6143936844695013686-6039582752735221711?l=insnvlovn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://insnvlovn.blogspot.com/feeds/6039582752735221711/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6143936844695013686&amp;postID=6039582752735221711' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/6039582752735221711'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/6039582752735221711'/><link rel='alternate' type='text/html' href='http://insnvlovn.blogspot.com/2011/07/etcx11xorgconf.html' title='/etc/X11/xorg.confの修正'/><author><name>insn</name><uri>http://www.blogger.com/profile/05196582005861324185</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6143936844695013686.post-5647142125233702005</id><published>2011-07-19T19:15:00.000+09:00</published><updated>2011-07-19T19:15:33.667+09:00</updated><title type='text'>ニコニコ動画で低画質モードにする</title><content type='html'>Firefox/5.0 で確認。&lt;br /&gt;&lt;br /&gt;Greasemonkey&lt;br /&gt;&lt;a href="https://addons.mozilla.org/ja/firefox/addon/greasemonkey/"&gt;https://addons.mozilla.org/ja/firefox/addon/greasemonkey/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Niconico Economy Quality&lt;br /&gt;&lt;a href="http://wescript.net/scripts/4573"&gt;http://wescript.net/scripts/4573&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6143936844695013686-5647142125233702005?l=insnvlovn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://insnvlovn.blogspot.com/feeds/5647142125233702005/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6143936844695013686&amp;postID=5647142125233702005' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/5647142125233702005'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/5647142125233702005'/><link rel='alternate' type='text/html' href='http://insnvlovn.blogspot.com/2011/07/blog-post.html' title='ニコニコ動画で低画質モードにする'/><author><name>insn</name><uri>http://www.blogger.com/profile/05196582005861324185</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6143936844695013686.post-4135924372254340366</id><published>2011-07-12T03:15:00.000+09:00</published><updated>2011-07-12T03:15:55.244+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='kurobox'/><title type='text'>kuroboxHGのファンの回転数</title><content type='html'>kuroboxHGのファンの回転数の変更を細かくする。&lt;br /&gt;&lt;br /&gt;netcat6, hddtempをインストールしてncコマンドで温度を取得する。&lt;br /&gt;&lt;pre&gt;$ rcsdiff -r1.1 /etc/config-archive/etc/conf.d/hddtemp,v /etc/conf.d/hddtemp&lt;br /&gt;===================================================================&lt;br /&gt;RCS file: /etc/config-archive/etc/conf.d/hddtemp,v&lt;br /&gt;retrieving revision 1.1&lt;br /&gt;diff -r1.1 /etc/conf.d/hddtemp&lt;br /&gt;12c12&lt;br /&gt;&lt; HDDTEMP_DRIVES="/dev/hda /dev/hdb"&lt;br /&gt;---&lt;br /&gt;&gt; HDDTEMP_DRIVES="/dev/sda"&lt;/pre&gt;&lt;pre&gt;$ nc localhost 7634;echo&lt;br /&gt;nc: using stream socket&lt;br /&gt;|/dev/sda|ST3250823A|48|C|&lt;/pre&gt;&lt;br /&gt;rc.localファイルのようなファイルを設置するディレクトリにshスクリプトを設置する。&lt;br /&gt;&lt;pre&gt;$ cat /etc/local.d/hddtemp.start | grep -v ^$ | grep -vP '^#(?!!)'&lt;br /&gt;#!/bin/sh&lt;br /&gt;TEMPLIMIT=48&lt;br /&gt;SLEEP=30&lt;br /&gt;PATH="/bin:/usr/bin"&lt;br /&gt;CURRENT_SLEEP=0&lt;br /&gt;BUF=""&lt;br /&gt;IFS='|'&lt;br /&gt;HDDTEMP=0&lt;br /&gt;CHANGE_MODE=""&lt;br /&gt;CURRENT_MODE=""&lt;br /&gt;while true&lt;br /&gt;do&lt;br /&gt;    CURRENT_SLEEP=$SLEEP&lt;br /&gt;    BUF=$(nc localhost 7634 2&gt;/dev/null)&lt;br /&gt;    set -- $BUF&lt;br /&gt;    HDDTEMP=$4&lt;br /&gt;    if [ "$HDDTEMP" -le $TEMPLIMIT ]; then&lt;br /&gt;        CHANGE_MODE="low"&lt;br /&gt;    else&lt;br /&gt;        CHANGE_MODE="high"&lt;br /&gt;    fi&lt;br /&gt;    if [ "$CHANGE_MODE" != "$CURRENT_MODE" ]; then&lt;br /&gt;        if [ "$CHANGE_MODE" = "low" ]; then&lt;br /&gt;            logger -t hddtemp "Temperature is Low.  Setting Fan Low  "`echo $HDDTEMP C`&lt;br /&gt;            echo -n '\\\\' &gt; /dev/ttyS0&lt;br /&gt;            echo -n 'ffff' &gt; /dev/ttyS0&lt;br /&gt;        else&lt;br /&gt;            logger -t hddtemp "Temperature is High. Setting Fan High "`echo $HDDTEMP C`&lt;br /&gt;            echo -n ']]]]' &gt; /dev/ttyS0&lt;br /&gt;            echo -n 'gggg' &gt; /dev/ttyS0&lt;br /&gt;            CURRENT_SLEEP=$[ $SLEEP * 10 ]&lt;br /&gt;        fi&lt;br /&gt;    fi&lt;br /&gt;    CURRENT_MODE=$CHANGE_MODE&lt;br /&gt;    sleep $CURRENT_SLEEP&lt;br /&gt;done &amp;&lt;/pre&gt;&lt;br /&gt;shスクリプトを起動する。&lt;br /&gt;&lt;pre&gt;$ sudo chmod +x /etc/local.d/hddtemp.start&lt;br /&gt;$ ll /etc/local.d/hddtemp.start&lt;br /&gt;-rwxr-xr-x 1 root root 1560 2011-07-11 15:39:23 /etc/local.d/hddtemp.start*&lt;br /&gt;$ sudo /etc/local.d/hddtemp.start&lt;/pre&gt;&lt;br /&gt;確認する。&lt;br /&gt;&lt;pre&gt;$ sudo tail -n30 /var/log/messages|grep hddtemp&lt;br /&gt;Jul 12 00:54:26 kuroboxhg hddtemp: Temperature is High. Setting Fan High 49 C&lt;br /&gt;Jul 12 00:59:26 kuroboxhg hddtemp: Temperature is Low.  Setting Fan Low  48 C&lt;br /&gt;Jul 12 01:12:28 kuroboxhg hddtemp: Temperature is High. Setting Fan High 49 C&lt;br /&gt;Jul 12 01:17:28 kuroboxhg hddtemp: Temperature is Low.  Setting Fan Low  48 C&lt;br /&gt;Jul 12 02:36:07 kuroboxhg hddtemp: Temperature is High. Setting Fan High 49 C&lt;br /&gt;Jul 12 02:41:07 kuroboxhg hddtemp: Temperature is Low.  Setting Fan Low  48 C&lt;br /&gt;$ pstree -pal 8902&lt;br /&gt;hddtemp.start,8902 /etc/local.d/hddtemp.start&lt;br /&gt;  └─sleep,17012 30&lt;/pre&gt;&lt;br /&gt;2.6.25と比べて ttyS0, ttyS1 が違う。&lt;br /&gt;&lt;pre&gt;$ uname -a&lt;br /&gt;Linux kuroboxhg 2.6.38-gentoo-r6 #2 Wed Jun 15 02:04:57 JST 2011 ppc 82xx Linkstation I/Kurobox(HG) GNU/Linux&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6143936844695013686-4135924372254340366?l=insnvlovn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://insnvlovn.blogspot.com/feeds/4135924372254340366/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6143936844695013686&amp;postID=4135924372254340366' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/4135924372254340366'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/4135924372254340366'/><link rel='alternate' type='text/html' href='http://insnvlovn.blogspot.com/2011/07/kuroboxhg.html' title='kuroboxHGのファンの回転数'/><author><name>insn</name><uri>http://www.blogger.com/profile/05196582005861324185</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6143936844695013686.post-6974242836995854141</id><published>2011-07-09T13:12:00.004+09:00</published><updated>2011-07-10T04:06:25.916+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='syslog-ng'/><title type='text'>syslog-ngのログをmysqlに記録する Part2</title><content type='html'>追記: しばらくすると記録されなくなったので、このページの説明では問題があります。&lt;br /&gt;&lt;pre&gt;Jul  9 17:51:38 amdgentoo logger: 4&lt;br /&gt;Jul  9 17:51:38 amdgentoo syslog-ng[15407]: Error running SQL query; type='mysql', host='localhost', port='', user='syslogappend', database='syslog', error='2006: MySQL server has gone away', query='INSERT INTO logs (crtm, seq, host, addr, facility, level, pri, program, pid, msghdr, msg) VALUES (\'2011-07-09T17:51:38+09:00\', \'5\', \'amdgentoo\', \'127.0.0.1\', \'1\', \'5\', \'13\', \'logger\', \'\', \'logger: \', \'4\')'&lt;br /&gt;Jul  9 17:51:38 amdgentoo syslog-ng[15407]: Error running SQL query; type='mysql', host='localhost', port='', user='syslogappend', database='syslog', error='2006: MySQL server has gone away', query='INSERT INTO logs (crtm, seq, host, addr, facility, level, pri, program, pid, msghdr, msg) VALUES (\'2011-07-09T17:51:38+09:00\', \'5\', \'amdgentoo\', \'127.0.0.1\', \'1\', \'5\', \'13\', \'logger\', \'\', \'logger: \', \'4\')'&lt;br /&gt;Jul  9 17:51:38 amdgentoo syslog-ng[15407]: Error running SQL query; type='mysql', host='localhost', port='', user='syslogappend', database='syslog', error='2006: MySQL server has gone away', query='INSERT INTO logs (crtm, seq, host, addr, facility, level, pri, program, pid, msghdr, msg) VALUES (\'2011-07-09T17:51:38+09:00\', \'5\', \'amdgentoo\', \'127.0.0.1\', \'1\', \'5\', \'13\', \'logger\', \'\', \'logger: \', \'4\')'&lt;br /&gt;Jul  9 17:51:38 amdgentoo syslog-ng[15407]: Multiple failures while inserting this record into the database, message dropped; attempts='3'&lt;/pre&gt;&lt;br /&gt;デフォルト値を変更しても大丈夫であれば回避できそう。&lt;br /&gt;&lt;pre&gt;$ php -r '$l=mysql_connect("localhost","syslogappend","syslogappendpasswd");var_dump($l);$s=0;do{$end=true;if($res=mysql_query("SELECT {$s}")){while($row=mysql_fetch_assoc($res)){print array_pop($row)."\n";$end=false;}}if($end){die(mysql_errno($l).": ".mysql_error($l)."\n"."\$s={$s}. end.\n");}sleep($s);$s+=10;}while(1);'&lt;br /&gt;resource(4) of type (mysql link)&lt;br /&gt;0&lt;br /&gt;10&lt;br /&gt;20&lt;br /&gt;30&lt;br /&gt;40&lt;br /&gt;50&lt;br /&gt;60&lt;br /&gt;2006: MySQL server has gone away&lt;br /&gt;$s=70. end.&lt;/pre&gt;&lt;pre&gt;$ grep -i timeout /etc/mysql/my.cnf|grep "[5-7]0"&lt;br /&gt;innodb_lock_wait_timeout = 50&lt;br /&gt;wait_timeout = 60&lt;br /&gt;$ mysqladmin variables|grep -i timeout|grep "[5-7]0"&lt;br /&gt;| innodb_lock_wait_timeout                | 50                                                                                        |&lt;br /&gt;| net_write_timeout                       | 60                                                                                        |&lt;br /&gt;| slave_net_timeout                       | 3600                                                                                      |&lt;br /&gt;| table_lock_wait_timeout                 | 50                                                                                        |&lt;br /&gt;| wait_timeout                            | 60                                                                                        |&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;参考URL。&lt;br /&gt;&lt;a href="http://en.gentoo-wiki.com/wiki/Syslog-ng_directly_to_MySQL"&gt;http://en.gentoo-wiki.com/wiki/Syslog-ng_directly_to_MySQL&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;再インストール。&lt;br /&gt;&lt;pre&gt;$ sudo USE="sql mysql" emerge --oneshot -avt syslog-ng&lt;/pre&gt;&lt;br /&gt;設定。&lt;br /&gt;&lt;pre&gt;$ rcsdiff /etc/config-archive/etc/syslog-ng/syslog-ng.conf,v /etc/syslog-ng/syslog-ng.conf&lt;br /&gt;===================================================================&lt;br /&gt;RCS file: /etc/config-archive/etc/syslog-ng/syslog-ng.conf,v&lt;br /&gt;retrieving revision 1.18&lt;br /&gt;diff -r1.18 /etc/syslog-ng/syslog-ng.conf&lt;br /&gt;64a65,74&lt;br /&gt;&gt; destination d_mysql {&lt;br /&gt;&gt; sql(type(mysql)&lt;br /&gt;&gt; host("localhost") username("syslogappend") password("syslogappendpasswd")&lt;br /&gt;&gt; database("syslog")&lt;br /&gt;&gt; table("logs")&lt;br /&gt;&gt; columns("crtm", "seq", "host", "addr", "facility", "level", "pri", "program", "pid", "msghdr", "msg")&lt;br /&gt;&gt; values("$ISODATE", "$SEQNUM", "$HOST", "$SOURCEIP", "$FACILITY_NUM", "$LEVEL_NUM", "$PRI", "$PROGRAM", "$PID", "$MSGHDR", "$MSG")&lt;br /&gt;&gt; indexes());&lt;br /&gt;&gt; };&lt;br /&gt;&gt;&lt;br /&gt;126a137&lt;br /&gt;&gt; log { source(src); source(kernsrc); source(net); filter(f_database); destination(d_mysql); };&lt;/pre&gt;&lt;br /&gt;テーブル作成。&lt;br /&gt;&lt;pre&gt;$ head -n2 bin/syslog.sql&lt;br /&gt;-- CREATE DATABASE syslog;&lt;br /&gt;-- GRANT SELECT,INSERT ON syslog.* TO syslogappend@localhost IDENTIFIED BY 'syslogappendpasswd';&lt;br /&gt;$ cat bin/syslog2.sql&lt;br /&gt;DROP TABLE IF EXISTS logs;&lt;br /&gt;CREATE TABLE logs (&lt;br /&gt;id       INT UNSIGNED      NOT NULL AUTO_INCREMENT,&lt;br /&gt;crtm     TIMESTAMP         NOT NULL,&lt;br /&gt;seq      INT UNSIGNED      NOT NULL,&lt;br /&gt;host     VARBINARY(63)     NOT NULL,&lt;br /&gt;addr     VARBINARY(15)     NOT NULL,&lt;br /&gt;addrnum  INT UNSIGNED      NOT NULL,&lt;br /&gt;facility TINYINT           NOT NULL,&lt;br /&gt;level    TINYINT           NOT NULL,&lt;br /&gt;pri      INT               NOT NULL,&lt;br /&gt;program  VARBINARY(31)     NOT NULL,&lt;br /&gt;pid      SMALLINT UNSIGNED NOT NULL,&lt;br /&gt;msghdr   VARBINARY(63)     NOT NULL,&lt;br /&gt;msg      BLOB              NOT NULL,&lt;br /&gt;PRIMARY KEY (id)&lt;br /&gt;) ENGINE=MyISAM DEFAULT CHARSET=binary;&lt;br /&gt;&lt;br /&gt;DROP TRIGGER IF EXISTS trigger_logs_before_insert;&lt;br /&gt;DROP TRIGGER IF EXISTS trigger_logs_before_update;&lt;br /&gt;DROP TRIGGER IF EXISTS trigger_logs_before_delete;&lt;br /&gt;DELIMITER |&lt;br /&gt;CREATE TRIGGER trigger_logs_before_insert BEFORE INSERT ON logs&lt;br /&gt;  FOR EACH ROW BEGIN&lt;br /&gt;    SET NEW.addrnum = INET_ATON(NEW.addr);&lt;br /&gt;  END;&lt;br /&gt;|&lt;br /&gt;CREATE TRIGGER trigger_logs_before_update BEFORE UPDATE ON logs&lt;br /&gt;  FOR EACH ROW BEGIN&lt;br /&gt;    CALL ERROR_UPDATE_NOT_ALLOWED();&lt;br /&gt;  END;&lt;br /&gt;|&lt;br /&gt;CREATE TRIGGER trigger_logs_before_delete BEFORE DELETE ON logs&lt;br /&gt;  FOR EACH ROW BEGIN&lt;br /&gt;    CALL ERROR_DELETE_NOT_ALLOWED();&lt;br /&gt;  END;&lt;br /&gt;|&lt;br /&gt;DELIMITER ;&lt;br /&gt;$ cat bin/syslog2.sql | mysql -uroot syslog&lt;/pre&gt;&lt;br /&gt;再起動。&lt;br /&gt;&lt;pre&gt;$ sudo /etc/init.d/syslog-ng reload&lt;/pre&gt;&lt;br /&gt;記録する。&lt;br /&gt;&lt;pre&gt;$ logger 111&lt;br /&gt;$ logger 222&lt;br /&gt;$ logger 333&lt;/pre&gt;&lt;br /&gt;確認する。&lt;br /&gt;&lt;pre&gt;$ mysql -uroot syslog&lt;br /&gt;...&lt;br /&gt;mysql&gt; select * from logs order by id desc;&lt;br /&gt;+----+---------------------+-----+-----------+-----------+------------+----------+-------+-----+---------+-----+----------+-----+&lt;br /&gt;| id | crtm                | seq | host      | addr      | addrnum    | facility | level | pri | program | pid | msghdr   | msg |&lt;br /&gt;+----+---------------------+-----+-----------+-----------+------------+----------+-------+-----+---------+-----+----------+-----+&lt;br /&gt;|  3 | 2011-07-09 12:25:33 |   3 | amdgentoo | 127.0.0.1 | 2130706433 |        1 |     5 |  13 | logger  |   0 | logger:  | 333 |&lt;br /&gt;|  2 | 2011-07-09 12:25:30 |   2 | amdgentoo | 127.0.0.1 | 2130706433 |        1 |     5 |  13 | logger  |   0 | logger:  | 222 |&lt;br /&gt;|  1 | 2011-07-09 12:25:28 |   1 | amdgentoo | 127.0.0.1 | 2130706433 |        1 |     5 |  13 | logger  |   0 | logger:  | 111 |&lt;br /&gt;+----+---------------------+-----+-----------+-----------+------------+----------+-------+-----+---------+-----+----------+-----+&lt;br /&gt;3 rows in set (0.00 sec)&lt;/pre&gt;&lt;br /&gt;seqは同じcrtmで並べかえをする場合に必要かもしれない。(order by crtm, seq)&lt;br /&gt;addrnumは検索で必要かもしれない。(addrnum between inet_aton('127.0.0.0') and inet_aton('127.255.255.255'))&lt;br /&gt;pri, msghdr は必要ないかもしれない。&lt;br /&gt;&lt;br /&gt;pri =&gt; facility, level&lt;br /&gt;&lt;pre&gt;$ php -r '$pri=13;printf("%04b\n%04b\n%04b\n%d\n---\n%010b\n%010b\n%010b\n%010b\n%d\n",$pri,0x07,$x=($pri &amp; 0x07),$x,$pri,0x03f8,($pri &amp; 0x03f8),$x=(($pri &amp; 0x03f8) &gt;&gt; 3),$x);'&lt;br /&gt;1101&lt;br /&gt;0111&lt;br /&gt;0101&lt;br /&gt;5&lt;br /&gt;---&lt;br /&gt;0000001101&lt;br /&gt;1111111000&lt;br /&gt;0000001000&lt;br /&gt;0000000001&lt;br /&gt;1&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6143936844695013686-6974242836995854141?l=insnvlovn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://insnvlovn.blogspot.com/feeds/6974242836995854141/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6143936844695013686&amp;postID=6974242836995854141' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/6974242836995854141'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/6974242836995854141'/><link rel='alternate' type='text/html' href='http://insnvlovn.blogspot.com/2011/07/syslog-ngmysql-part2.html' title='syslog-ngのログをmysqlに記録する Part2'/><author><name>insn</name><uri>http://www.blogger.com/profile/05196582005861324185</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6143936844695013686.post-1809107218257803802</id><published>2011-07-07T02:36:00.002+09:00</published><updated>2011-07-08T14:30:37.434+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='syslog-ng'/><title type='text'>syslog-ngのログをmysqlに記録する</title><content type='html'>syslog-ng.confの修正。&lt;br /&gt;必要な場合、tcp経由で記録する設定を追加する。&lt;br /&gt;mysqlのINSERT文をログフォーマットにする。1秒ごとに個別のファイルに残す。&lt;br /&gt;フィルターでloggerコマンドのデフォルト値などの場合のみに記録するようにする。&lt;br /&gt;src, kernsrc, net のログをフィルターを通した後にINSERT文のフォーマットで記録する。&lt;br /&gt;&lt;pre&gt;$ rcsdiff -r1.15 /etc/config-archive/etc/syslog-ng/syslog-ng.conf,v /etc/syslog-ng/syslog-ng.conf&lt;br /&gt;===================================================================&lt;br /&gt;RCS file: /etc/config-archive/etc/syslog-ng/syslog-ng.conf,v&lt;br /&gt;retrieving revision 1.15&lt;br /&gt;diff -r1.15 /etc/syslog-ng/syslog-ng.conf&lt;br /&gt;23c23&lt;br /&gt;&amp;lt; source net { udp(); };&lt;br /&gt;---&lt;br /&gt;&gt; source net { udp(); tcp(port(4800) keep-alive(yes) max_connections(256)); };&lt;br /&gt;60a61,64&lt;br /&gt;&gt; destination database { file("/var/log/dblog/fulllog.$YEAR.$MONTH.$DAY.$HOUR.$MIN.$SEC"&lt;br /&gt;&gt; template("INSERT INTO logs$YEAR$MONTH (crtm, host, addr, facility, level, pri, program, pid, msghdr, msg) VALUES('$ISODATE', '$HOST', INET_ATON('$SOURCEIP'), '$FACILITY_NUM', '$LEVEL_NUM', '$PRI', '$PROGRAM', '$PID', '$MSGHDR', '$MSG');\n")&lt;br /&gt;&gt; owner(root) group(root) perm(0600) dir_perm(0700) create_dirs(yes) template-escape(yes)); };&lt;br /&gt;&gt;&lt;br /&gt;91a96,97&lt;br /&gt;&gt; filter f_database { facility(user) and level(notice) };&lt;br /&gt;&gt;&lt;br /&gt;117a124,125&lt;br /&gt;&gt;&lt;br /&gt;&gt; log { source(src); source(kernsrc); source(net); filter(f_database); destination(database); };&lt;/pre&gt;&lt;br /&gt;mysqlの設定。&lt;br /&gt;データベース作成、専用書き込みユーザー作成、テーブルとトリガー(update,deleteを邪魔する)作成。&lt;br /&gt;&lt;pre&gt;$ cat bin/syslog.sql&lt;br /&gt;-- CREATE DATABASE syslog;&lt;br /&gt;-- GRANT SELECT,INSERT ON syslog.* TO syslogappend@localhost IDENTIFIED BY 'syslogappendpasswd';&lt;br /&gt;&lt;br /&gt;DROP TABLE IF EXISTS logs201107;&lt;br /&gt;CREATE TABLE logs201107 (&lt;br /&gt;id       INT UNSIGNED      NOT NULL AUTO_INCREMENT,&lt;br /&gt;crtm     TIMESTAMP         NOT NULL,&lt;br /&gt;host     VARBINARY(63)     NOT NULL,&lt;br /&gt;addr     INT UNSIGNED      NOT NULL,&lt;br /&gt;facility TINYINT           NOT NULL,&lt;br /&gt;level    TINYINT           NOT NULL,&lt;br /&gt;pri      INT               NOT NULL,&lt;br /&gt;program  VARBINARY(31)     NOT NULL,&lt;br /&gt;pid      SMALLINT UNSIGNED NOT NULL,&lt;br /&gt;msghdr   VARBINARY(63)     NOT NULL,&lt;br /&gt;msg      BLOB              NOT NULL,&lt;br /&gt;PRIMARY KEY (id)&lt;br /&gt;) ENGINE=MyISAM DEFAULT CHARSET=binary;&lt;br /&gt;&lt;br /&gt;DROP TRIGGER IF EXISTS trigger_logs201107_before_update;&lt;br /&gt;DROP TRIGGER IF EXISTS trigger_logs201107_before_delete;&lt;br /&gt;DELIMITER |&lt;br /&gt;CREATE TRIGGER trigger_logs201107_before_update BEFORE UPDATE ON logs201107&lt;br /&gt;  FOR EACH ROW BEGIN&lt;br /&gt;    CALL ERROR_UPDATE_NOT_ALLOWED();&lt;br /&gt;  END;&lt;br /&gt;|&lt;br /&gt;CREATE TRIGGER trigger_logs201107_before_delete BEFORE DELETE ON logs201107&lt;br /&gt;  FOR EACH ROW BEGIN&lt;br /&gt;    CALL ERROR_DELETE_NOT_ALLOWED();&lt;br /&gt;  END;&lt;br /&gt;|&lt;br /&gt;DELIMITER ;&lt;/pre&gt;&lt;br /&gt;ログをDBに書きこむスクリプト。&lt;br /&gt;&lt;pre&gt;$ cat bin/syslog.sh&lt;br /&gt;#!/bin/sh&lt;br /&gt;&lt;br /&gt;LANG=C&lt;br /&gt;LC_ALL=C&lt;br /&gt;PATH="/bin:/usr/bin"&lt;br /&gt;&lt;br /&gt;SLEEP=1&lt;br /&gt;&lt;br /&gt;while true&lt;br /&gt;do&lt;br /&gt;    FILE=$(find /var/log/dblog/ -name "fulllog*" | sort | head -n1)&lt;br /&gt;    if [ -f "$FILE" ]; then&lt;br /&gt;        echo $FILE"を処理します。"&lt;br /&gt;        cat $FILE | mysql -usyslogappend -psyslogappendpasswd syslog&lt;br /&gt;        if [ $? -ne 0 ]; then&lt;br /&gt;            echo "失敗"&lt;br /&gt;            exit 1&lt;br /&gt;        fi&lt;br /&gt;        echo $FILE"を消します。"&lt;br /&gt;        rm -f $FILE;&lt;br /&gt;    else&lt;br /&gt;        echo $SLEEP"秒休みます。"&lt;br /&gt;        sleep $SLEEP&lt;br /&gt;    fi&lt;br /&gt;done&lt;/pre&gt;&lt;br /&gt;テスト。書き込みスクリプトの起動。&lt;br /&gt;&lt;pre&gt;$ sudo sh bin/syslog.sh&lt;br /&gt;1秒休みます。&lt;br /&gt;...&lt;br /&gt;1秒休みます。&lt;br /&gt;/var/log/dblog/fulllog.2011.07.07.01.06.12を処理します。&lt;br /&gt;/var/log/dblog/fulllog.2011.07.07.01.06.12を消します。&lt;br /&gt;1秒休みます。&lt;br /&gt;1秒休みます。&lt;br /&gt;/var/log/dblog/fulllog.2011.07.07.01.06.14を処理します。&lt;br /&gt;/var/log/dblog/fulllog.2011.07.07.01.06.14を消します。&lt;br /&gt;1秒休みます。&lt;br /&gt;/var/log/dblog/fulllog.2011.07.07.01.06.15を処理します。&lt;br /&gt;/var/log/dblog/fulllog.2011.07.07.01.06.15を消します。&lt;br /&gt;1秒休みます。&lt;br /&gt;...&lt;/pre&gt;&lt;br /&gt;別コンソールでログを書きこむ。&lt;br /&gt;&lt;pre&gt;$ logger "hello1"&lt;br /&gt;$ logger "hello2"&lt;br /&gt;$ logger "hello3"&lt;/pre&gt;&lt;br /&gt;確認する。&lt;br /&gt;&lt;pre&gt;mysql&gt; select *,INET_NTOA(addr) from logs201107 order by id desc limit 10;&lt;br /&gt;+----+---------------------+-----------+------------+----------+-------+-----+---------+-----+----------+--------+-----------------+&lt;br /&gt;| id | crtm                | host      | addr       | facility | level | pri | program | pid | msghdr   | msg    | INET_NTOA(addr) |&lt;br /&gt;+----+---------------------+-----------+------------+----------+-------+-----+---------+-----+----------+--------+-----------------+&lt;br /&gt;|  3 | 2011-07-07 01:06:15 | amdgentoo | 2130706433 |        1 |     5 |  13 | logger  |   0 | logger:  | hello3 | 127.0.0.1       |&lt;br /&gt;|  2 | 2011-07-07 01:06:14 | amdgentoo | 2130706433 |        1 |     5 |  13 | logger  |   0 | logger:  | hello2 | 127.0.0.1       |&lt;br /&gt;|  1 | 2011-07-07 01:06:12 | amdgentoo | 2130706433 |        1 |     5 |  13 | logger  |   0 | logger:  | hello1 | 127.0.0.1       |&lt;br /&gt;+----+---------------------+-----------+------------+----------+-------+-----+---------+-----+----------+--------+-----------------+&lt;br /&gt;3 rows in set (0.00 sec)&lt;/pre&gt;&lt;br /&gt;全部記録する場合 syslog-ng.conf の filter(f_database); の部分を消します。&lt;br /&gt;記録が追いつかない場合、ログをファイルに書きこむやり方以外の方法もあります。&lt;br /&gt;名前付きパイプ、プログラムに渡す、など。&lt;br /&gt;もしくは別の言語などで複数の書き込み用のプロセスを起動します。&lt;br /&gt;何かおかしい場合などは公式のマニュアルかソースを見ると古い情報を観る場合が減ります。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;以下は詳細。&lt;br /&gt;&lt;br /&gt;リモートの場合、日付はどうなる？&lt;br /&gt;&lt;pre&gt;$ sudo /etc/init.d/syslog-ng reload&lt;br /&gt;syslog-ng       |Your configuration file uses an obsoleted keyword, please update your configuration; keyword='use_time_recvd', change='Use R_ or S_ prefixed macros in templates or keep_timestamp(no)'&lt;br /&gt;syslog-ng       |Error parsing main, syntax error, unexpected KW_USE_TIME_RECVD, expecting '}' in /etc/syslog-ng/syslog-ng.conf at line 13, column 9:&lt;br /&gt;syslog-ng       |&lt;br /&gt;syslog-ng       |        use_time_recvd (yes);&lt;br /&gt;syslog-ng       |        ^^^^^^^^^^^^^^&lt;br /&gt;syslog-ng       |&lt;br /&gt;syslog-ng       |syslog-ng documentation: http://www.balabit.com/support/documentation/?product=syslog-ng&lt;br /&gt;syslog-ng       |mailing list: https://lists.balabit.hu/mailman/listinfo/syslog-ng&lt;br /&gt;syslog-ng       | * Configuration error. Please fix your configfile (/etc/syslog-ng/syslog-ng.conf)                     [ !! ]&lt;/pre&gt;&lt;br /&gt;keep_timestamp(no) で $ISODATE などを全体的に変更する。古い場合 use_time_recvd(yes);&lt;br /&gt;または $R_ISODATE, $S_ISODATE など手動で指定する。&lt;br /&gt;&lt;br /&gt;古い場合 $MSG =&gt; $MSGONLY など。&lt;br /&gt;&lt;br /&gt;$HOST or $SOURCEIP だけにするなど。$SOURCEIPは文字が良いなど。&lt;br /&gt;($FACILITY_NUM, $LEVEL_NUM) or $PRI だけにするなど。もしくは$TAGにするなど。&lt;br /&gt;($PROGRAM, $PID) or $MSGHDR だけにするなど。&lt;br /&gt;&lt;br /&gt;フィルター変更&lt;br /&gt;&lt;pre&gt;filter f_database { ... };&lt;br /&gt;&lt;/pre&gt;or&lt;br /&gt;フィルター無しなど。&lt;br /&gt;&lt;pre&gt;log { source(src); source(kernsrc); source(net); destination(database); };&lt;/pre&gt;&lt;br /&gt;タブ区切りなどにして、insertする側で色々加工するなど。$MSGからindex対象の取り出し、文字コード統一など。&lt;br /&gt;&lt;br /&gt;ログの取得方法変更 =&gt; 1秒ごとにファイル =&gt; 名前付きパイプ、デーモンの指定など。&lt;br /&gt;&lt;br /&gt;ドキュメント。&lt;br /&gt;&lt;pre&gt;/usr/share/doc/syslog-ng-3.2.4/syslog-ng.conf.doc.bz2&lt;br /&gt;syslog-ng-3.2.4/contrib/syslog-ng.conf.doc&lt;/pre&gt;など。&lt;br /&gt;&lt;br /&gt;他の変数。&lt;br /&gt;&lt;pre&gt;./lib/templates.c&lt;br /&gt;./lib/logmsg.c&lt;/pre&gt;など。&lt;br /&gt;&lt;br /&gt;テスト用設定の例。&lt;br /&gt;&lt;pre&gt;template("FACILITY          = '$FACILITY'\nFACILITY_NUM      = '$FACILITY_NUM'\nPRIORITY          = '$PRIORITY'\nLEVEL             = '$LEVEL'\nLEVEL_NUM         = '$LEVEL_NUM'\nTAG               = '$TAG'\nTAGS              = '$TAGS'\nBSDTAG            = '$BSDTAG'\nPRI               = '$PRI'\nDATE              = '$DATE'\nFULLDATE          = '$FULLDATE'\nISODATE           = '$ISODATE'\nSTAMP             = '$STAMP'\nYEAR              = '$YEAR'\nYEAR_DAY          = '$YEAR_DAY'\nMONTH             = '$MONTH'\nMONTH_WEEK        = '$MONTH_WEEK'\nMONTH_ABBREV      = '$MONTH_ABBREV'\nMONTH_NAME        = '$MONTH_NAME'\nDAY               = '$DAY'\nHOUR              = '$HOUR'\nMIN               = '$MIN'\nSEC               = '$SEC'\nWEEKDAY           = '$WEEKDAY'\nWEEK_DAY          = '$WEEK_DAY'\nWEEK_DAY_ABBREV   = '$WEEK_DAY_ABBREV'\nWEEK_DAY_NAME     = '$WEEK_DAY_NAME'\nWEEK              = '$WEEK'\nTZOFFSET          = '$TZOFFSET'\nTZ                = '$TZ'\nUNIXTIME          = '$UNIXTIME'\nR_DATE            = '$R_DATE'\nR_FULLDATE        = '$R_FULLDATE'\nR_ISODATE         = '$R_ISODATE'\nR_STAMP           = '$R_STAMP'\nR_YEAR            = '$R_YEAR'\nR_YEAR_DAY        = '$R_YEAR_DAY'\nR_MONTH           = '$R_MONTH'\nR_MONTH_WEEK      = '$R_MONTH_WEEK'\nR_MONTH_ABBREV    = '$R_MONTH_ABBREV'\nR_MONTH_NAME      = '$R_MONTH_NAME'\nR_DAY             = '$R_DAY'\nR_HOUR            = '$R_HOUR'\nR_MIN             = '$R_MIN'\nR_SEC             = '$R_SEC'\nR_WEEKDAY         = '$R_WEEKDAY'\nR_WEEK_DAY        = '$R_WEEK_DAY'\nR_WEEK_DAY_ABBREV = '$R_WEEK_DAY_ABBREV'\nR_WEEK_DAY_NAME   = '$R_WEEK_DAY_NAME'\nR_WEEK            = '$R_WEEK'\nR_TZOFFSET        = '$R_TZOFFSET'\nR_TZ              = '$R_TZ'\nR_UNIXTIME        = '$R_UNIXTIME'\nS_DATE            = '$S_DATE'\nS_FULLDATE        = '$S_FULLDATE'\nS_ISODATE         = '$S_ISODATE'\nS_STAMP           = '$S_STAMP'\nS_YEAR            = '$S_YEAR'\nS_YEAR_DAY        = '$S_YEAR_DAY'\nS_MONTH           = '$S_MONTH'\nS_MONTH_WEEK      = '$S_MONTH_WEEK'\nS_MONTH_ABBREV    = '$S_MONTH_ABBREV'\nS_MONTH_NAME      = '$S_MONTH_NAME'\nS_DAY             = '$S_DAY'\nS_HOUR            = '$S_HOUR'\nS_MIN             = '$S_MIN'\nS_SEC             = '$S_SEC'\nS_WEEKDAY         = '$S_WEEKDAY'\nS_WEEK_DAY        = '$S_WEEK_DAY'\nS_WEEK_DAY_ABBREV = '$S_WEEK_DAY_ABBREV'\nS_WEEK_DAY_NAME   = '$S_WEEK_DAY_NAME'\nS_WEEK            = '$S_WEEK'\nS_TZOFFSET        = '$S_TZOFFSET'\nS_TZ              = '$S_TZ'\nS_UNIXTIME        = '$S_UNIXTIME'\nSDATA             = '$SDATA'\nMSGHDR            = '$MSGHDR'\nSOURCEIP          = '$SOURCEIP'\nSEQNUM            = '$SEQNUM'\nMSG               = '$MSG'\nMESSAGE           = '$MESSAGE'\nHOST              = '$HOST'\n\nHOST          = '$HOST'\nHOST_FROM     = '$HOST_FROM'\nMESSAGE       = '$MESSAGE'\nPROGRAM       = '$PROGRAM'\nPID           = '$PID'\nMSGID         = '$MSGID'\nSOURCE        = '$SOURCE'\nLEGACY_MSGHDR = '$LEGACY_MSGHDR'\n---separate---\n")&lt;/pre&gt;&lt;br /&gt;結果。&lt;br /&gt;&lt;pre&gt;$ logger "debug"&lt;br /&gt;$ sudo cat /var/log/dblog/fulllog.2011.07.07.01.30.48&lt;br /&gt;FACILITY          = 'user'&lt;br /&gt;FACILITY_NUM      = '1'&lt;br /&gt;PRIORITY          = 'notice'&lt;br /&gt;LEVEL             = 'notice'&lt;br /&gt;LEVEL_NUM         = '5'&lt;br /&gt;TAG               = '0d'&lt;br /&gt;TAGS              = '.source.src'&lt;br /&gt;BSDTAG            = '5B'&lt;br /&gt;PRI               = '13'&lt;br /&gt;DATE              = 'Jul  7 01:30:48'&lt;br /&gt;FULLDATE          = '2011 Jul  7 01:30:48'&lt;br /&gt;ISODATE           = '2011-07-07T01:30:48+09:00'&lt;br /&gt;STAMP             = 'Jul  7 01:30:48'&lt;br /&gt;YEAR              = '2011'&lt;br /&gt;YEAR_DAY          = '188'&lt;br /&gt;MONTH             = '07'&lt;br /&gt;MONTH_WEEK        = '1'&lt;br /&gt;MONTH_ABBREV      = 'Jul'&lt;br /&gt;MONTH_NAME        = 'July'&lt;br /&gt;DAY               = '07'&lt;br /&gt;HOUR              = '01'&lt;br /&gt;MIN               = '30'&lt;br /&gt;SEC               = '48'&lt;br /&gt;WEEKDAY           = 'Thu'&lt;br /&gt;WEEK_DAY          = '5'&lt;br /&gt;WEEK_DAY_ABBREV   = 'Thu'&lt;br /&gt;WEEK_DAY_NAME     = 'Thursday'&lt;br /&gt;WEEK              = '27'&lt;br /&gt;TZOFFSET          = '+09:00'&lt;br /&gt;TZ                = '+09:00'&lt;br /&gt;UNIXTIME          = '1309969848'&lt;br /&gt;R_DATE            = 'Jul  7 01:30:48'&lt;br /&gt;R_FULLDATE        = '2011 Jul  7 01:30:48'&lt;br /&gt;R_ISODATE         = '2011-07-07T01:30:48+09:00'&lt;br /&gt;R_STAMP           = 'Jul  7 01:30:48'&lt;br /&gt;R_YEAR            = '2011'&lt;br /&gt;R_YEAR_DAY        = '188'&lt;br /&gt;R_MONTH           = '07'&lt;br /&gt;R_MONTH_WEEK      = '1'&lt;br /&gt;R_MONTH_ABBREV    = 'Jul'&lt;br /&gt;R_MONTH_NAME      = 'July'&lt;br /&gt;R_DAY             = '07'&lt;br /&gt;R_HOUR            = '01'&lt;br /&gt;R_MIN             = '30'&lt;br /&gt;R_SEC             = '48'&lt;br /&gt;R_WEEKDAY         = 'Thu'&lt;br /&gt;R_WEEK_DAY        = '5'&lt;br /&gt;R_WEEK_DAY_ABBREV = 'Thu'&lt;br /&gt;R_WEEK_DAY_NAME   = 'Thursday'&lt;br /&gt;R_WEEK            = '27'&lt;br /&gt;R_TZOFFSET        = '+09:00'&lt;br /&gt;R_TZ              = '+09:00'&lt;br /&gt;R_UNIXTIME        = '1309969848'&lt;br /&gt;S_DATE            = 'Jul  7 01:30:48'&lt;br /&gt;S_FULLDATE        = '2011 Jul  7 01:30:48'&lt;br /&gt;S_ISODATE         = '2011-07-07T01:30:48+09:00'&lt;br /&gt;S_STAMP           = 'Jul  7 01:30:48'&lt;br /&gt;S_YEAR            = '2011'&lt;br /&gt;S_YEAR_DAY        = '188'&lt;br /&gt;S_MONTH           = '07'&lt;br /&gt;S_MONTH_WEEK      = '1'&lt;br /&gt;S_MONTH_ABBREV    = 'Jul'&lt;br /&gt;S_MONTH_NAME      = 'July'&lt;br /&gt;S_DAY             = '07'&lt;br /&gt;S_HOUR            = '01'&lt;br /&gt;S_MIN             = '30'&lt;br /&gt;S_SEC             = '48'&lt;br /&gt;S_WEEKDAY         = 'Thu'&lt;br /&gt;S_WEEK_DAY        = '5'&lt;br /&gt;S_WEEK_DAY_ABBREV = 'Thu'&lt;br /&gt;S_WEEK_DAY_NAME   = 'Thursday'&lt;br /&gt;S_WEEK            = '27'&lt;br /&gt;S_TZOFFSET        = '+09:00'&lt;br /&gt;S_TZ              = '+09:00'&lt;br /&gt;S_UNIXTIME        = '1309969848'&lt;br /&gt;SDATA             = ''&lt;br /&gt;MSGHDR            = 'logger: '&lt;br /&gt;SOURCEIP          = '127.0.0.1'&lt;br /&gt;SEQNUM            = ''&lt;br /&gt;MSG               = 'debug'&lt;br /&gt;MESSAGE           = 'debug'&lt;br /&gt;HOST              = 'amdgentoo'&lt;br /&gt;&lt;br /&gt;HOST          = 'amdgentoo'&lt;br /&gt;HOST_FROM     = 'amdgentoo'&lt;br /&gt;MESSAGE       = 'debug'&lt;br /&gt;PROGRAM       = 'logger'&lt;br /&gt;PID           = ''&lt;br /&gt;MSGID         = ''&lt;br /&gt;SOURCE        = 'src'&lt;br /&gt;LEGACY_MSGHDR = 'logger: '&lt;br /&gt;---separate---&lt;/pre&gt;&lt;br /&gt;テーブル名をどうするか？&lt;br /&gt;全部logs, logsYYYYMM, 名前はlogsでmysqlパーティショニングなど。&lt;br /&gt;全部logsの場合でdeleteする場合myisamは重い。&lt;br /&gt;logsYYYYMMなどは検索が面倒かもしれない。手動で検索する場合。&lt;br /&gt;パーティショニングは手動インストールが必要かもしれない。&lt;br /&gt;&lt;pre&gt;mysql&gt; SHOW VARIABLES LIKE '%partition%';&lt;br /&gt;+-------------------+-------+&lt;br /&gt;| Variable_name     | Value |&lt;br /&gt;+-------------------+-------+&lt;br /&gt;| have_partitioning | NO    |&lt;br /&gt;+-------------------+-------+&lt;br /&gt;1 row in set (0.00 sec)&lt;/pre&gt;&lt;br /&gt;24ヶ月先までテーブル作成。(seq 0 24 で今月分も含む。存在する場合、初期化される)&lt;br /&gt;&lt;pre&gt;$ for num in $(seq 1 24); do cat bin/syslog.sql | sed "s/logs201107/logs$(date --date "${num} months" "+%Y%m")/g" | mysql -uroot syslog; done&lt;/pre&gt;&lt;pre&gt;mysql&gt; show tables;&lt;br /&gt;+------------------+&lt;br /&gt;| Tables_in_syslog |&lt;br /&gt;+------------------+&lt;br /&gt;| logs201107       |&lt;br /&gt;| logs201108       |&lt;br /&gt;| logs201109       |&lt;br /&gt;| logs201110       |&lt;br /&gt;| logs201111       |&lt;br /&gt;| logs201112       |&lt;br /&gt;| logs201201       |&lt;br /&gt;| logs201202       |&lt;br /&gt;| logs201203       |&lt;br /&gt;| logs201204       |&lt;br /&gt;| logs201205       |&lt;br /&gt;| logs201206       |&lt;br /&gt;| logs201207       |&lt;br /&gt;| logs201208       |&lt;br /&gt;| logs201209       |&lt;br /&gt;| logs201210       |&lt;br /&gt;| logs201211       |&lt;br /&gt;| logs201212       |&lt;br /&gt;| logs201301       |&lt;br /&gt;| logs201302       |&lt;br /&gt;| logs201303       |&lt;br /&gt;| logs201304       |&lt;br /&gt;| logs201305       |&lt;br /&gt;| logs201306       |&lt;br /&gt;| logs201307       |&lt;br /&gt;+------------------+&lt;br /&gt;25 rows in set (0.00 sec)&lt;/pre&gt;&lt;br /&gt;追記: OS起動時に起動する例。&lt;br /&gt;&lt;pre&gt;$ ll /usr/local/bin/sqlsyslogd&lt;br /&gt;-rwxr-xr-x 1 root root 507 2011-07-07 05:35:50 /usr/local/bin/sqlsyslogd*&lt;/pre&gt;&lt;br /&gt;ファイルは上記の例とおなしshスクリプト。&lt;br /&gt;&lt;pre&gt;$ head -n1 /usr/local/bin/sqlsyslogd&lt;br /&gt;#!/bin/sh&lt;/pre&gt;&lt;br /&gt;起動してバックグラウンドに移動させる。&lt;br /&gt;&lt;pre&gt;$ cat /etc/local.d/sqlsyslogd.start&lt;br /&gt;/usr/local/bin/sqlsyslogd &gt; /dev/null 2&gt;&amp;1 &amp;&lt;/pre&gt;&lt;br /&gt;確認する。&lt;br /&gt;&lt;pre&gt;$ pstree -pal 9743&lt;br /&gt;sqlsyslogd,9743 /usr/local/bin/sqlsyslogd&lt;br /&gt;  └─sleep,10672 1&lt;/pre&gt;&lt;br /&gt;ディストリビューションごとに書く場所が違う。&lt;br /&gt;&lt;pre&gt;$ cat /etc/rc.local&lt;br /&gt;#!/bin/sh&lt;br /&gt;#&lt;br /&gt;# This script will be executed *after* all the other init scripts.&lt;br /&gt;# You can put your own initialization stuff in here if you don't&lt;br /&gt;# want to do the full Sys V style init stuff.&lt;br /&gt;&lt;br /&gt;touch /var/lock/subsys/local&lt;/pre&gt;&lt;br /&gt;ダイレクトにデータベースに入れる機能があるように見えます。&lt;br /&gt;これが良さそうなので、このページの例は使わないほうがいいかもしれません。&lt;br /&gt;&lt;pre&gt;$ find ./syslog-ng-3.2.4/ -iname "*sql*"&lt;br /&gt;./syslog-ng-3.2.4/tests/functional/test_sql.py&lt;br /&gt;./syslog-ng-3.2.4/modules/afsql&lt;br /&gt;./syslog-ng-3.2.4/modules/afsql/afsql.c&lt;br /&gt;./syslog-ng-3.2.4/modules/afsql/afsql-grammar.h&lt;br /&gt;./syslog-ng-3.2.4/modules/afsql/afsql-grammar.ym&lt;br /&gt;./syslog-ng-3.2.4/modules/afsql/afsql.h&lt;br /&gt;./syslog-ng-3.2.4/modules/afsql/afsql-grammar.c&lt;br /&gt;./syslog-ng-3.2.4/modules/afsql/afsql-parser.c&lt;br /&gt;./syslog-ng-3.2.4/modules/afsql/afsql-grammar.y&lt;br /&gt;./syslog-ng-3.2.4/modules/afsql/afsql-parser.h&lt;br /&gt;./syslog-ng-3.2.4/modules/afsql/afsql-plugin.c&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;$ grep -nriP "mysql|postgresql" ./syslog-ng-3.2.4/modules/afsql&lt;br /&gt;./syslog-ng-3.2.4/modules/afsql/afsql.c:1146:  self-&gt;type = g_strdup("mysql");&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6143936844695013686-1809107218257803802?l=insnvlovn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://insnvlovn.blogspot.com/feeds/1809107218257803802/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6143936844695013686&amp;postID=1809107218257803802' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/1809107218257803802'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/1809107218257803802'/><link rel='alternate' type='text/html' href='http://insnvlovn.blogspot.com/2011/07/syslog-ngmysql.html' title='syslog-ngのログをmysqlに記録する'/><author><name>insn</name><uri>http://www.blogger.com/profile/05196582005861324185</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6143936844695013686.post-7414428675698434581</id><published>2011-07-01T09:25:00.002+09:00</published><updated>2011-07-01T10:34:30.116+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='arpwatch'/><title type='text'>arpwatchのインストール</title><content type='html'>これはIPアドレスとMACアドレスをチェックします。&lt;br /&gt;&lt;br /&gt;インストールする。&lt;br /&gt;&lt;pre&gt;$ sudo emerge --oneshot -avt arpwatch&lt;/pre&gt;&lt;br /&gt;ユーザーが追加される。&lt;br /&gt;&lt;pre&gt;$ grep arpwatch /etc/passwd&lt;br /&gt;arpwatch:x:116:116:added by portage for arpwatch:/dev/null:/sbin/nologin&lt;/pre&gt;&lt;br /&gt;必要な場合、設定を修正する。&lt;br /&gt;&lt;pre&gt;$ rcsdiff /etc/config-archive/etc/conf.d/arpwatch,v /etc/conf.d/arpwatch&lt;br /&gt;===================================================================&lt;br /&gt;RCS file: /etc/config-archive/etc/conf.d/arpwatch,v&lt;br /&gt;retrieving revision 1.1&lt;br /&gt;diff -r1.1 /etc/conf.d/arpwatch&lt;br /&gt;5c5&lt;br /&gt;&lt; IFACES="eth0"&lt;br /&gt;---&lt;br /&gt;&gt; IFACES="br0"&lt;/pre&gt;&lt;br /&gt;起動する。&lt;br /&gt;&lt;pre&gt;$ sudo rc-update add arpwatch default&lt;br /&gt;$ sudo /etc/init.d/arpwatch start&lt;/pre&gt;&lt;br /&gt;プロセスを確認する。&lt;br /&gt;&lt;pre&gt;$ pstree -pal arpwatch&lt;br /&gt;arpwatch,29661 -i br0 -u arpwatch -f /var/lib/arpwatch/br0.dat -P /var/run/arpwatch.br0.pid -N -p&lt;br /&gt;$ ps auxwww|grep [a]rpwatch&lt;br /&gt;arpwatch 29661  0.0  0.0  19464  3752 ?        S    09:05   0:00 /usr/sbin/arpwatch -i br0 -u arpwatch -f /var/lib/arpwatch/br0.dat -P /var/run/arpwatch.br0.pid -N -p&lt;/pre&gt;&lt;br /&gt;ログを閲覧する。&lt;br /&gt;&lt;pre&gt;$ sudo grep -iP "\sarpwatch:\s" /var/log/messages|perl -pe 's/\d+(?:\.\d+){3}/xxx.xxx.xxx.xxx/'|perl -pe 's/[0-9A-Fa-f]{1,2}(?:\:[0-9A-Fa-f]{1,2}){5}/xx:xx:xx:xx:xx:xx/'&lt;br /&gt;Jul  1 08:39:47 amdgentoo arpwatch: Wrote pid 23655 to /var/run/arpwatch.br0.pid&lt;br /&gt;Jul  1 08:39:47 amdgentoo arpwatch: Running as uid=116 gid=116&lt;br /&gt;Jul  1 08:39:47 amdgentoo arpwatch: listening on br0&lt;br /&gt;Jul  1 08:39:49 amdgentoo arpwatch: new station xxx.xxx.xxx.xxx xx:xx:xx:xx:xx:xx br0&lt;br /&gt;Jul  1 08:39:49 amdgentoo arpwatch: new station xxx.xxx.xxx.xxx xx:xx:xx:xx:xx:xx br0&lt;br /&gt;Jul  1 08:39:56 amdgentoo arpwatch: new station xxx.xxx.xxx.xxx xx:xx:xx:xx:xx:xx br0&lt;br /&gt;Jul  1 08:39:57 amdgentoo arpwatch: new station xxx.xxx.xxx.xxx xx:xx:xx:xx:xx:xx br0&lt;br /&gt;Jul  1 08:40:00 amdgentoo arpwatch: new station xxx.xxx.xxx.xxx xx:xx:xx:xx:xx:xx br0&lt;br /&gt;Jul  1 08:40:02 amdgentoo arpwatch: new station xxx.xxx.xxx.xxx xx:xx:xx:xx:xx:xx br0&lt;br /&gt;Jul  1 08:40:21 amdgentoo arpwatch: new station xxx.xxx.xxx.xxx xx:xx:xx:xx:xx:xx br0&lt;br /&gt;Jul  1 08:40:27 amdgentoo arpwatch: new station xxx.xxx.xxx.xxx xx:xx:xx:xx:xx:xx br0&lt;br /&gt;Jul  1 08:40:32 amdgentoo arpwatch: new station xxx.xxx.xxx.xxx xx:xx:xx:xx:xx:xx br0&lt;br /&gt;Jul  1 08:45:18 amdgentoo arpwatch: new station xxx.xxx.xxx.xxx xx:xx:xx:xx:xx:xx br0&lt;br /&gt;Jul  1 08:49:11 amdgentoo arpwatch: new station xxx.xxx.xxx.xxx xx:xx:xx:xx:xx:xx br0&lt;br /&gt;Jul  1 08:51:52 amdgentoo arpwatch: new station xxx.xxx.xxx.xxx xx:xx:xx:xx:xx:xx br0&lt;/pre&gt;&lt;br /&gt;メールが来る。(たぶん -m xxx を指定しない場合 -u xxx ではなくローカルのroot)&lt;br /&gt;&lt;pre&gt;件名: new station (kuroboxhg.localnet) br0&lt;br /&gt;            hostname: kuroboxhg.localnet&lt;br /&gt;          ip address: xxx.xxx.xxx.xxx&lt;br /&gt;           interface: br0&lt;br /&gt;    ethernet address: xx:xx:xx:xx:xx:xx&lt;br /&gt;     ethernet vendor: Buffalo Inc.&lt;br /&gt;           timestamp: Friday, July 1, 2011 8:51:52 +0900&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;件名: new station (router.localnet) br0&lt;br /&gt;            hostname: router.localnet&lt;br /&gt;          ip address: xxx.xxx.xxx.xxx&lt;br /&gt;           interface: br0&lt;br /&gt;    ethernet address: xx:xx:xx:xx:xx:xx&lt;br /&gt;     ethernet vendor: NEC AccessTechnica, Ltd.&lt;br /&gt;           timestamp: Friday, July 1, 2011 8:40:32 +0900&lt;/pre&gt;&lt;br /&gt;再起動してもメールは来ない。キャッシュあり。&lt;br /&gt;&lt;pre&gt;$ ll /var/lib/arpwatch/&lt;br /&gt;合計 8&lt;br /&gt;-rw-r--r-- 1 root     root       0 2011-06-29 07:30:22 .keep_net-analyzer_arpwatch-0&lt;br /&gt;-rw-r--r-- 1 arpwatch arpwatch 653 2011-07-01 09:05:03 br0.dat&lt;br /&gt;-rw-r--r-- 1 arpwatch arpwatch 653 2011-07-01 08:54:47 br0.dat-&lt;br /&gt;-rw-r--r-- 1 arpwatch root       0 2011-07-01 08:38:15 eth0.dat&lt;/pre&gt;&lt;br /&gt;使いそうであれば/var/lib/portage/worldに登録する。(--oneshotの場合)&lt;br /&gt;&lt;pre&gt;$ sudo emerge --noreplace arpwatch&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6143936844695013686-7414428675698434581?l=insnvlovn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://insnvlovn.blogspot.com/feeds/7414428675698434581/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6143936844695013686&amp;postID=7414428675698434581' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/7414428675698434581'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/7414428675698434581'/><link rel='alternate' type='text/html' href='http://insnvlovn.blogspot.com/2011/07/arpwatch.html' title='arpwatchのインストール'/><author><name>insn</name><uri>http://www.blogger.com/profile/05196582005861324185</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6143936844695013686.post-6935559926426052787</id><published>2011-06-30T19:36:00.000+09:00</published><updated>2011-06-30T19:37:13.850+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='crossdev'/><title type='text'>クロスコンパイル</title><content type='html'>&lt;a href="http://www.gentoo.org/proj/en/base/embedded/cross-development.xml"&gt;http://www.gentoo.org/proj/en/base/embedded/cross-development.xml&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;参考URLの内容でコンパイルできた。大体下記のような作業を行った。&lt;br /&gt;crossdevをインストールする。distcc用の作業を1回以上行っていると必要なファイルが作成されているかもしれない。&lt;br /&gt;/usr/powerpc-unknown-linux-gnu/etc/make.profileにリンクを貼る。&lt;br /&gt;/usr/powerpc-unknown-linux-gnu/etc/portage/make.conf の CFLAGS に "-mcpu=603e -Os" を追加。&lt;br /&gt;xmergeのスクリプトファイルをコピーして実行する。&lt;br /&gt;&lt;br /&gt;sl, lv などを -B などでコンパイルして -K などでインストールする。&lt;br /&gt;バージョンを指定しないとテスト版を作成している場合あり。(make.conf の ACCEPT_KEYWORDS="ppc ~ppc")&lt;br /&gt;&lt;pre&gt;### 作成サーバー。&lt;br /&gt;$ sudo sh ~/bin/xemerge --oneshot -avt -B net-misc/telnet-bsd&lt;br /&gt;### インストールサーバー。&lt;br /&gt;$ sudo emerge --oneshot -avt -K net-misc/telnet-bsd&lt;/pre&gt;&lt;br /&gt;/usr/portage/packagesはnfsなどでファイルを読める状態にする。もしくはファイルをコピーする。&lt;br /&gt;&lt;pre&gt;$ mount|grep /usr/portage/packages&lt;br /&gt;192.168.0.100:/usr/powerpc-unknown-linux-gnu/packages on /usr/portage/packages type nfs4 (rw,addr=192.168.0.100,clientaddr=192.168.0.150)&lt;/pre&gt;&lt;br /&gt;一部無理だった。&lt;br /&gt;&lt;pre&gt;eix (cross comple error)&lt;br /&gt;munin (/usr/lib =&gt; /usr/lib64)&lt;/pre&gt;&lt;br /&gt;作れないのがあるようなので、依存パッケージやバージョンも含めて手動で作成であれば使えそう。&lt;br /&gt;作成できないだけなら良いが、間違った状態で作成に成功する場合があるので試しに使うだけにする。&lt;br /&gt;なにか設定がさらに必要かもしれない。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6143936844695013686-6935559926426052787?l=insnvlovn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://insnvlovn.blogspot.com/feeds/6935559926426052787/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6143936844695013686&amp;postID=6935559926426052787' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/6935559926426052787'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/6935559926426052787'/><link rel='alternate' type='text/html' href='http://insnvlovn.blogspot.com/2011/06/blog-post_30.html' title='クロスコンパイル'/><author><name>insn</name><uri>http://www.blogger.com/profile/05196582005861324185</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6143936844695013686.post-2131084043003988249</id><published>2011-06-30T18:44:00.002+09:00</published><updated>2011-07-04T13:37:04.159+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='nmap'/><category scheme='http://www.blogger.com/atom/ns#' term='nfs'/><title type='text'>nmapの例</title><content type='html'>ローカルネットワーク上の別のパソコンから実行する。&lt;br /&gt;自身から実行する。&lt;br /&gt;tcp, udpで、それぞれ実行する。&lt;br /&gt;&lt;br /&gt;tcp, udpのどちらかだけ開ける、などが確認できる。&lt;br /&gt;rpc.statd の --outgoing-port 32766 は開けなくても良さそう。(OUTPUTチェインが素通しの場合)&lt;br /&gt;nfs関連でtcpが1つ、udpが2つ、ポートを固定出来ていない。&lt;br /&gt;動いてはいるが何かのタイミングで極端に遅くなったり、見た目動いていても実はおかしい、などになるかもしれない。&lt;br /&gt;tcpの方はプロセス名が不明なのでlockdのようにkernelの設定になるのかもしれない。&lt;br /&gt;&lt;br /&gt;追記: もしくは rpcinfo -p に挙げられているプロトコル、ポートが空いていれば大丈夫かもしれません。&lt;br /&gt;&lt;br /&gt;この例の場合、調べるポート数が多いのでグローバルなIPアドレスで実行すると問題が発生するかもしれません。&lt;br /&gt;&lt;br /&gt;tcpのポートを外側からチェック。&lt;br /&gt;&lt;pre&gt;$ nmap -Pn -A -T5 -sT -p1- 192.168.0.200 &gt; nmap-tcp-192.168.0.200.txt 2&gt;&amp;1 &amp;&lt;br /&gt;$ cat nmap-tcp-192.168.0.200.txt&lt;br /&gt;&lt;br /&gt;Starting Nmap 5.51 ( http://nmap.org ) at 2011-06-28 11:39 JST&lt;br /&gt;Nmap scan report for cogentoo-1.localnet (192.168.0.200)&lt;br /&gt;Host is up (0.0067s latency).&lt;br /&gt;Not shown: 65518 filtered ports&lt;br /&gt;PORT      STATE  SERVICE     VERSION&lt;br /&gt;22/tcp    open   ssh         OpenSSH 5.8p1-hpn13v10 (protocol 2.0)&lt;br /&gt;53/tcp    closed domain&lt;br /&gt;111/tcp   open   rpcbind&lt;br /&gt;123/tcp   closed ntp&lt;br /&gt;137/tcp   closed netbios-ns&lt;br /&gt;138/tcp   closed netbios-dgm&lt;br /&gt;139/tcp   open   netbios-ssn Samba smbd 3.X (workgroup: MSHOME)&lt;br /&gt;445/tcp   open   netbios-ssn Samba smbd 3.X (workgroup: MSHOME)&lt;br /&gt;873/tcp   closed rsync&lt;br /&gt;2049/tcp  open   rpcbind&lt;br /&gt;2401/tcp  closed cvspserver&lt;br /&gt;3690/tcp  closed svn&lt;br /&gt;4949/tcp  open   munin       Munin&lt;br /&gt;32765/tcp open   rpcbind&lt;br /&gt;32766/tcp closed unknown&lt;br /&gt;32767/tcp open   rpcbind&lt;br /&gt;32768/tcp open   rpcbind&lt;br /&gt;&lt;br /&gt;Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .&lt;br /&gt;Nmap done: 1 IP address (1 host up) scanned in 106.18 seconds&lt;/pre&gt;&lt;br /&gt;udpのポートを外側からチェック。&lt;br /&gt;&lt;pre&gt;$ sudo nmap --host-timeout 1165535s -A -T5 -sU -p1- 192.168.0.200 &gt; nmap-udp-192.168.0.200.txt 2&gt;&amp;1 &amp;&lt;br /&gt;$ cat nmap-udp-192.168.0.200.txt&lt;br /&gt;&lt;br /&gt;Starting Nmap 5.51 ( http://nmap.org ) at 2011-06-28 11:38 JST&lt;br /&gt;Warning: 192.168.0.200 giving up on port because retransmission cap hit (2).&lt;br /&gt;Umm -- RPC returned success for bogus version -- thats OK I guess&lt;br /&gt;Umm -- RPC returned success for bogus version -- thats OK I guess&lt;br /&gt;Nmap scan report for cogentoo-1.localnet (192.168.0.200)&lt;br /&gt;Host is up (0.00098s latency).&lt;br /&gt;Not shown: 65306 filtered ports, 214 open|filtered ports&lt;br /&gt;PORT      STATE  SERVICE      VERSION&lt;br /&gt;53/udp    closed domain&lt;br /&gt;111/udp   open   rpcbind&lt;br /&gt;123/udp   open   ntp          NTP v4&lt;br /&gt;137/udp   open   netbios-ns   Microsoft Windows XP netbios-ssn&lt;br /&gt;139/udp   closed netbios-ssn&lt;br /&gt;445/udp   closed microsoft-ds&lt;br /&gt;873/udp   closed rsync&lt;br /&gt;2049/udp  open   rpcbind      0 (rpc #100000)&lt;br /&gt;2401/udp  closed cvspserver&lt;br /&gt;3690/udp  closed unknown&lt;br /&gt;4949/udp  closed unknown&lt;br /&gt;32765/udp open   rpcbind&lt;br /&gt;32766/udp closed unknown&lt;br /&gt;32767/udp open   rpcbind&lt;br /&gt;32768/udp open   rpcbind      0 (rpc #100000)&lt;br /&gt;MAC Address: 00:FF:8A:7E:AF:01 (Unknown)&lt;br /&gt;Too many fingerprints match this host to give specific OS details&lt;br /&gt;Network Distance: 1 hop&lt;br /&gt;Service Info: OS: Windows&lt;br /&gt;&lt;br /&gt;TRACEROUTE&lt;br /&gt;HOP RTT     ADDRESS&lt;br /&gt;1   0.98 ms cogentoo-1.localnet (192.168.0.200)&lt;br /&gt;&lt;br /&gt;OS and Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .&lt;br /&gt;Nmap done: 1 IP address (1 host up) scanned in 72493.69 seconds&lt;/pre&gt;&lt;br /&gt;tcpのポートを内側からチェック。&lt;br /&gt;&lt;pre&gt;$ nmap -A -T5 -sT -p1- 127.0.0.1 &gt; nmap-tcp-127.0.0.1.txt 2&gt;&amp;1 &amp;&lt;br /&gt;$ cat nmap-tcp-127.0.0.1.txt&lt;br /&gt;&lt;br /&gt;Starting Nmap 5.51 ( http://nmap.org ) at 2011-06-28 11:39 JST&lt;br /&gt;Nmap scan report for localhost (127.0.0.1)&lt;br /&gt;Host is up (0.024s latency).&lt;br /&gt;Not shown: 65520 closed ports&lt;br /&gt;PORT      STATE SERVICE     VERSION&lt;br /&gt;22/tcp    open  ssh         OpenSSH 5.8p1-hpn13v10 (protocol 2.0)&lt;br /&gt;25/tcp    open  smtp        Postfix smtpd&lt;br /&gt;80/tcp    open  http        nginx&lt;br /&gt;111/tcp   open  rpcbind     2-4 (rpc #100000)&lt;br /&gt;139/tcp   open  netbios-ssn Samba smbd 3.X (workgroup: MSHOME)&lt;br /&gt;443/tcp   open  ssl/http    Apache httpd&lt;br /&gt;445/tcp   open  netbios-ssn Samba smbd 3.X (workgroup: MSHOME)&lt;br /&gt;901/tcp   open  http        Samba SWAT administration server&lt;br /&gt;2049/tcp  open  nfs         2-4 (rpc #100003)&lt;br /&gt;4949/tcp  open  munin       Munin&lt;br /&gt;8081/tcp  open  http        Apache httpd&lt;br /&gt;32765/tcp open  status      1 (rpc #100024)&lt;br /&gt;32767/tcp open  mountd      1-3 (rpc #100005)&lt;br /&gt;32768/tcp open  nlockmgr    1-4 (rpc #100021)&lt;br /&gt;55000/tcp open  rpc.unknown&lt;br /&gt;Service Info: Host:  cogentoo-1.localnet&lt;br /&gt;&lt;br /&gt;Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .&lt;br /&gt;Nmap done: 1 IP address (1 host up) scanned in 19.70 seconds&lt;/pre&gt;&lt;br /&gt;udpのポートを内側からチェック。&lt;br /&gt;&lt;pre&gt;$ sudo nmap -A -T5 -sU -p1- 127.0.0.1 &gt; nmap-udp-127.0.0.1.txt 2&gt;&amp;1 &amp;&lt;br /&gt;$ cat nmap-udp-127.0.0.1.txt&lt;br /&gt;&lt;br /&gt;Starting Nmap 5.51 ( http://nmap.org ) at 2011-06-28 11:39 JST&lt;br /&gt;Nmap scan report for localhost (127.0.0.1)&lt;br /&gt;Host is up (0.00033s latency).&lt;br /&gt;Not shown: 65525 closed ports&lt;br /&gt;PORT      STATE         SERVICE     VERSION&lt;br /&gt;111/udp   open          rpcbind     2-4 (rpc #100000)&lt;br /&gt;123/udp   open          ntp         NTP v4&lt;br /&gt;137/udp   open          netbios-ns  Microsoft Windows XP netbios-ssn&lt;br /&gt;138/udp   open|filtered netbios-dgm&lt;br /&gt;608/udp   open|filtered sift-uft&lt;br /&gt;957/udp   open          rpcbind     2-4 (rpc #100000)&lt;br /&gt;2049/udp  open          nfs         2-4 (rpc #100003)&lt;br /&gt;32765/udp open          status      1 (rpc #100024)&lt;br /&gt;32767/udp open          mountd      1-3 (rpc #100005)&lt;br /&gt;32768/udp open          nlockmgr    1-4 (rpc #100021)&lt;br /&gt;Too many fingerprints match this host to give specific OS details&lt;br /&gt;Network Distance: 0 hops&lt;br /&gt;Service Info: Host: COGENTOO-1; OS: Windows&lt;br /&gt;&lt;br /&gt;OS and Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .&lt;br /&gt;Nmap done: 1 IP address (1 host up) scanned in 89.97 seconds&lt;/pre&gt;&lt;br /&gt;再起動すると固定出来ていないポートがあることがわかる。&lt;br /&gt;&lt;pre&gt;$ diff /tmp/a.txt nmap-udp-127.0.0.1.txt&lt;br /&gt;2c2&lt;br /&gt;&lt; Starting Nmap 5.51 ( http://nmap.org ) at 2011-06-28 11:39 JST&lt;br /&gt;---&lt;br /&gt;&gt; Starting Nmap 5.51 ( http://nmap.org ) at 2011-06-30 13:07 JST&lt;br /&gt;4c4&lt;br /&gt;&lt; Host is up (0.00033s latency).&lt;br /&gt;---&lt;br /&gt;&gt; Host is up (0.00s latency).&lt;br /&gt;11,12c11,12&lt;br /&gt;&lt; 608/udp   open|filtered sift-uft&lt;br /&gt;&lt; 957/udp   open          rpcbind     2-4 (rpc #100000)&lt;br /&gt;---&lt;br /&gt;&gt; 956/udp   open          rpcbind     2-4 (rpc #100000)&lt;br /&gt;&gt; 1011/udp  open|filtered unknown&lt;br /&gt;22c22&lt;br /&gt;&lt; Nmap done: 1 IP address (1 host up) scanned in 89.97 seconds&lt;br /&gt;---&lt;br /&gt;&gt; Nmap done: 1 IP address (1 host up) scanned in 90.99 seconds&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;$ diff /tmp/b.txt nmap-tcp-127.0.0.1.txt&lt;br /&gt;2c2&lt;br /&gt;&lt; Starting Nmap 5.51 ( http://nmap.org ) at 2011-06-28 11:39 JST&lt;br /&gt;---&lt;br /&gt;&gt; Starting Nmap 5.51 ( http://nmap.org ) at 2011-06-30 13:07 JST&lt;br /&gt;4c4&lt;br /&gt;&lt; Host is up (0.024s latency).&lt;br /&gt;---&lt;br /&gt;&gt; Host is up (0.026s latency).&lt;br /&gt;10c10&lt;br /&gt;&lt; 111/tcp   open  rpcbind     2-4 (rpc #100000)&lt;br /&gt;---&lt;br /&gt;&gt; 111/tcp   open  rpcbind&lt;br /&gt;21c21&lt;br /&gt;&lt; 55000/tcp open  rpc.unknown&lt;br /&gt;---&lt;br /&gt;&gt; 47454/tcp open  rpc.unknown&lt;br /&gt;25c25&lt;br /&gt;&lt; Nmap done: 1 IP address (1 host up) scanned in 19.70 seconds&lt;br /&gt;---&lt;br /&gt;&gt; Nmap done: 1 IP address (1 host up) scanned in 21.74 seconds&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;$ sudo lsof -i:956,1011,47454&lt;br /&gt;COMMAND    PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME&lt;br /&gt;rpcbind   1661   root    7u  IPv4   3659      0t0  UDP *:956&lt;br /&gt;rpc.statd 1683 nobody    5u  IPv4   3831      0t0  UDP *:1011&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;$ sudo netstat -anp | grep -P "956|1011|47454"&lt;br /&gt;tcp        0      0 0.0.0.0:47454           0.0.0.0:*               LISTEN      -&lt;br /&gt;udp        0      0 0.0.0.0:956             0.0.0.0:*                           1661/rpcbind&lt;br /&gt;udp        0      0 0.0.0.0:1011            0.0.0.0:*                           1683/rpc.statd&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6143936844695013686-2131084043003988249?l=insnvlovn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://insnvlovn.blogspot.com/feeds/2131084043003988249/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6143936844695013686&amp;postID=2131084043003988249' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/2131084043003988249'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/2131084043003988249'/><link rel='alternate' type='text/html' href='http://insnvlovn.blogspot.com/2011/06/nmap.html' title='nmapの例'/><author><name>insn</name><uri>http://www.blogger.com/profile/05196582005861324185</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6143936844695013686.post-3991011844297474763</id><published>2011-06-30T09:59:00.000+09:00</published><updated>2011-06-30T10:03:18.910+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='postfix'/><title type='text'>postfixのtransport_maps</title><content type='html'>参考URL。&lt;br /&gt;&lt;a href="http://zsrv.s43.xrea.com/content/view/33/30/"&gt;http://zsrv.s43.xrea.com/content/view/33/30/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://d.hatena.ne.jp/matzmura/20080316/1205672821"&gt;http://d.hatena.ne.jp/matzmura/20080316/1205672821&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.eva-01.jp/wiki/pukiwiki.php?Sendmail%2FSTARTTLS"&gt;http://www.eva-01.jp/wiki/pukiwiki.php?Sendmail%2FSTARTTLS&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.postfix.org/transport.5.html"&gt;http://www.postfix.org/transport.5.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.postfix-jp.info/trans-2.3/jhtml/transport.5.html"&gt;http://www.postfix-jp.info/trans-2.3/jhtml/transport.5.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;この例の場合プロバイダのメールサーバーからgmailに送れるので意味はないです。&lt;br /&gt;また認証に使ったユーザー以外のgmailへ送れるかどうか試していないです。&lt;br /&gt;&lt;br /&gt;certificate verification failed for smtp.gmail.com ...&lt;br /&gt;&lt;pre&gt;$ qfile /etc/ssl/certs/&lt;br /&gt;app-misc/ca-certificates (/etc/ssl/certs)&lt;br /&gt;dev-libs/openssl (/etc/ssl/certs)&lt;/pre&gt;&lt;br /&gt;plain固定ではなくlogin無効で他は有効にした。&lt;br /&gt;&lt;pre&gt;$ rcsdiff /etc/config-archive/etc/postfix/main.cf,v /etc/postfix/main.cf&lt;br /&gt;===================================================================&lt;br /&gt;RCS file: /etc/config-archive/etc/postfix/main.cf,v&lt;br /&gt;retrieving revision 1.12&lt;br /&gt;diff -r1.12 /etc/postfix/main.cf&lt;br /&gt;663c663&lt;br /&gt;&amp;lt; smtp_sasl_mechanism_filter = plain&lt;br /&gt;---&lt;br /&gt;&gt; smtp_sasl_mechanism_filter = !login, static:all&lt;br /&gt;665a666,669&lt;br /&gt;&gt;&lt;br /&gt;&gt; smtp_tls_CApath = /etc/ssl/certs&lt;br /&gt;&gt; smtp_use_tls = yes&lt;br /&gt;&gt; transport_maps = hash:/etc/postfix/transport&lt;/pre&gt;&lt;br /&gt;デフォルト値。&lt;br /&gt;&lt;pre&gt;$ postconf -d|grep -iP "^(transport_maps|smtp_use_tls|smtp_tls_CApath)\s*="&lt;br /&gt;smtp_tls_CApath =&lt;br /&gt;smtp_use_tls = no&lt;br /&gt;transport_maps =&lt;/pre&gt;&lt;br /&gt;パスワード追加。&lt;br /&gt;&lt;pre&gt;$ /usr/bin/sudo /usr/bin/rcsdiff /etc/config-archive/etc/postfix/saslpass,v /etc/postfix/saslpass&lt;br /&gt;===================================================================&lt;br /&gt;RCS file: /etc/config-archive/etc/postfix/saslpass,v&lt;br /&gt;retrieving revision 1.2&lt;br /&gt;diff -r1.2 /etc/postfix/saslpass&lt;br /&gt;3a4&lt;br /&gt;&gt; [smtp.gmail.com]:submission  ユーザー名:パスワード&lt;/pre&gt;&lt;br /&gt;ドメインが gmail.com の場合 smtp.gmail.com を利用する。&lt;br /&gt;&lt;pre&gt;$ sudo cat transport&lt;br /&gt;gmail.com smtp:[smtp.gmail.com]:submission&lt;/pre&gt;&lt;br /&gt;smtp_sasl_mechanism_filter = !login, !plain, static:all にしたらXOAUTHというのを使うのか？と思ったが、送れなかった。&lt;br /&gt;&lt;pre&gt;$ openssl s_client -connect smtp.gmail.com:587 -starttls smtp&lt;br /&gt;...&lt;br /&gt;250-AUTH LOGIN PLAIN XOAUTH&lt;br /&gt;...&lt;/pre&gt;&lt;br /&gt;クライアント側に対応がない。&lt;br /&gt;&lt;pre&gt;# smtp_sasl_mechanism_filter = !login, !plain, static:all&lt;br /&gt;warning: SASL authentication failure: No worthy mechs found&lt;/pre&gt;&lt;br /&gt;サーバー側に対応がない。&lt;br /&gt;&lt;pre&gt;# smtp_sasl_mechanism_filter = gssapi&lt;br /&gt;(SASL authentication failed: server xxx[xxx] offered no compatible authentication mechanisms for this type of connection security)&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6143936844695013686-3991011844297474763?l=insnvlovn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://insnvlovn.blogspot.com/feeds/3991011844297474763/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6143936844695013686&amp;postID=3991011844297474763' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/3991011844297474763'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/3991011844297474763'/><link rel='alternate' type='text/html' href='http://insnvlovn.blogspot.com/2011/06/postfixtransportmaps.html' title='postfixのtransport_maps'/><author><name>insn</name><uri>http://www.blogger.com/profile/05196582005861324185</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6143936844695013686.post-5452247831454471125</id><published>2011-06-29T13:16:00.012+09:00</published><updated>2011-07-04T13:16:51.112+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='postfix'/><title type='text'>サブミッションポート</title><content type='html'>&lt;s style="display:none"&gt;これはsmtpサーバーではなくsmtpクライアントの設定です。&lt;br /&gt;587番ポートをLISTENしません。&lt;/s&gt;&lt;br /&gt;修正: ローカルネットワーク上の他のサーバーから25番ポートでメールを受け取って、&lt;br /&gt;それをプロバイダのメールサーバーの587番ポートにリレーするような感じです。&lt;br /&gt;自身は587番ポートをLISTENしません。&lt;br /&gt;&lt;pre&gt;$ sudo netstat -anp|grep -P ":(25|587)\s"&lt;br /&gt;tcp        0      0 0.0.0.0:25              0.0.0.0:*               LISTEN      6807/master&lt;/pre&gt;&lt;br /&gt;追記: amdgentooのpostfixとwindowsXPのThunderbird(メールソフト)は、&lt;br /&gt;それぞれプロバイダのメールサーバーの接続情報を持っている。&lt;br /&gt;他のサーバーのpostfixはamdgentooにメールを渡す。&lt;br /&gt;&lt;pre&gt;図。&lt;br /&gt;┌──────────┐  ┌──┬─────┐  ┌────┐  ┌───┬─────────────┐&lt;br /&gt;│他のサーバー        ├┬┤25番│amdgentoo ├┬┤ルーター├─┤587番 │プロバイダのメールサーバー│&lt;br /&gt;│relayhost=amdgentoo ││└──┴─────┘│└────┘  └───┴─────────────┘&lt;br /&gt;└──────────┘│                    │&lt;br /&gt; ...                    │                    │&lt;br /&gt;┌──────────┐│                    │&lt;br /&gt;│他のサーバー        ├┘                    │&lt;br /&gt;│relayhost=amdgentoo │                      │&lt;br /&gt;└──────────┘                      │&lt;br /&gt;                                              │&lt;br /&gt;┌─────┐                                │&lt;br /&gt;│windowsXP ├────────────────┘&lt;br /&gt;└─────┘&lt;/pre&gt;&lt;br /&gt;追記: 他のサーバーはamdgentooに渡す設定のみ。&lt;br /&gt;&lt;pre&gt;$ rcsdiff -r1.6 /etc/config-archive/etc/postfix/main.cf,v /etc/postfix/main.cf&lt;br /&gt;===================================================================&lt;br /&gt;RCS file: /etc/config-archive/etc/postfix/main.cf,v&lt;br /&gt;retrieving revision 1.6&lt;br /&gt;diff -r1.6 /etc/postfix/main.cf&lt;br /&gt;76a77&lt;br /&gt;&gt; myhostname = cogentoo-1.localnet&lt;br /&gt;83a85&lt;br /&gt;&gt; mydomain = localnet&lt;br /&gt;315c317&lt;br /&gt;&lt; relayhost = xxx.xxx.xxx&lt;br /&gt;---&lt;br /&gt;&gt; relayhost = amdgentoo.localnet&lt;/pre&gt;&lt;br /&gt;プロバイダの説明を探してメールサーバーの設定を修正します。&lt;br /&gt;サブミッションポート, OP25B, ポート587 など。&lt;br /&gt;&lt;br /&gt;現在のmain.cf。&lt;br /&gt;/usr/portage/packages/mail-mta/postfix-2.7.4.tbz2のファイルとの差分。(emerge ... -b postfix)&lt;br /&gt;relayhostとsmtp_sasl_auth_enable以下の記述がサブミッションポート用の変更点。&lt;br /&gt;&lt;pre&gt;$ diff ./etc/postfix/main.cf /etc/postfix/main.cf&lt;br /&gt;76a77&lt;br /&gt;&gt; myhostname = amdgentoo.localnet&lt;br /&gt;83a85&lt;br /&gt;&gt; mydomain = localnet&lt;br /&gt;262a265&lt;br /&gt;&gt; mynetworks = xxx.xxx.xxx.xxx/8 xxx.xxx.xxx.xxx/24&lt;br /&gt;313a317&lt;br /&gt;&gt; relayhost = プロバイダのメールサーバー:587&lt;br /&gt;652a657,665&lt;br /&gt;&gt;&lt;br /&gt;&gt; smtpd_milters         = unix:/var/run/clamav/clamav-milter.sock&lt;br /&gt;&gt; non_smtpd_milters     = unix:/var/run/clamav/clamav-milter.sock&lt;br /&gt;&gt; milter_default_action = accept&lt;br /&gt;&gt;&lt;br /&gt;&gt; smtp_sasl_auth_enable = yes&lt;br /&gt;&gt; smtp_sasl_mechanism_filter = plain&lt;br /&gt;&gt; smtp_sasl_password_maps = hash:/etc/postfix/saslpass&lt;br /&gt;&gt; smtp_sasl_security_options = noanonymous&lt;/pre&gt;&lt;br /&gt;デフォルト値。&lt;br /&gt;&lt;pre&gt;$ postconf -d|grep -iP "^(smtp_sasl_auth_enable|smtp_sasl_password_maps|smtp_sasl_mechanism_filter|smtp_sasl_security_options)\s*="&lt;br /&gt;smtp_sasl_auth_enable = no&lt;br /&gt;smtp_sasl_mechanism_filter =&lt;br /&gt;smtp_sasl_password_maps =&lt;br /&gt;smtp_sasl_security_options = noplaintext, noanonymous&lt;/pre&gt;&lt;br /&gt;saslpass修正。&lt;br /&gt;&lt;pre&gt;$ sudo vi saslpass&lt;br /&gt;$ /usr/bin/sudo /usr/bin/rcsdiff /etc/config-archive/etc/postfix/saslpass,v /etc/postfix/saslpass&lt;br /&gt;===================================================================&lt;br /&gt;RCS file: /etc/config-archive/etc/postfix/saslpass,v&lt;br /&gt;retrieving revision 1.1&lt;br /&gt;diff -r1.1 /etc/postfix/saslpass&lt;br /&gt;3a4&lt;br /&gt;&gt; プロバイダのメールサーバー ユーザー名:パスワード&lt;br /&gt;$ sudo postmap saslpass&lt;/pre&gt;&lt;br /&gt;認証方式の確認。&lt;br /&gt;&lt;pre&gt;$ telnet プロバイダのメールサーバー 587&lt;br /&gt;Trying xxx.xxx.xxx.xxx...&lt;br /&gt;Connected to プロバイダのメールサーバー.&lt;br /&gt;Escape character is '^]'.&lt;br /&gt;220 xxxxxxxx.example.com ESMTP&lt;br /&gt;EHLO xxx.xxx.xxx.xxx           # EHLO IPアドレス などを入力する。&lt;br /&gt;250-xxxxxxxx.example.com&lt;br /&gt;250-PIPELINING&lt;br /&gt;250-SIZE 20971520&lt;br /&gt;250-ETRN&lt;br /&gt;250-AUTH LOGIN PLAIN&lt;br /&gt;250-AUTH=LOGIN PLAIN&lt;br /&gt;250-ENHANCEDSTATUSCODES&lt;br /&gt;250-8BITMIME&lt;br /&gt;250 DSN&lt;br /&gt;quit                           # 終了。quitを入力する。&lt;br /&gt;221 2.0.0 Bye&lt;br /&gt;Connection closed by foreign host.&lt;/pre&gt;&lt;br /&gt;この例の場合で smtp_sasl_mechanism_filter 無しの場合、&lt;br /&gt;&lt;pre&gt;smtp_sasl_mechanism_filter = login, plain&lt;/pre&gt;と同じ。無しで下記を使う。&lt;br /&gt;&lt;pre&gt;250-AUTH LOGIN PLAIN&lt;br /&gt;250-AUTH=LOGIN PLAIN&lt;/pre&gt;例えば 250-AUTH LOGIN PLAIN XXX とある場合、&lt;br /&gt;smtp_sasl_mechanism_filter = XXX にしても良いです。&lt;br /&gt;もしくは smtp_sasl_security_options に noplaintext を追加します。&lt;br /&gt;&lt;br /&gt;他のlinuxは relayhost = amdgentoo.localnet を経由し、windowsは直接同じような指定をしています。&lt;br /&gt;&lt;br /&gt;MX検索を無効にする場合。＋ポートを文字にする場合。&lt;br /&gt;&lt;pre&gt;$ rcsdiff -r1.11 /etc/config-archive/etc/postfix/main.cf,v /etc/postfix/main.cf&lt;br /&gt;===================================================================&lt;br /&gt;RCS file: /etc/config-archive/etc/postfix/main.cf,v&lt;br /&gt;retrieving revision 1.11&lt;br /&gt;diff -r1.11 /etc/postfix/main.cf&lt;br /&gt;317c317&lt;br /&gt;&amp;lt; relayhost = プロバイダのメールサーバー:587&lt;br /&gt;---&lt;br /&gt;&gt; relayhost = [プロバイダのメールサーバー]:submission&lt;/pre&gt;&lt;pre&gt;$ grep 587 /etc/services&lt;br /&gt;submission      587/tcp                         # mail message submission&lt;br /&gt;submission      587/udp&lt;/pre&gt;&lt;br /&gt;他。&lt;br /&gt;送信者単位での認証(smtp_sender_dependent_authentication = yes)、&lt;br /&gt;プロバイダごとのsmtpサーバーを直接指定など(/etc/postfix/transport)&lt;br /&gt;&lt;br /&gt;参考URL。&lt;br /&gt;&lt;a href="http://www.postfix-jp.info/trans-2.2/jhtml/postconf.5.html"&gt;http://www.postfix-jp.info/trans-2.2/jhtml/postconf.5.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.postfix.org/postconf.5.html#smtp_sasl_mechanism_filter"&gt;http://www.postfix.org/postconf.5.html#smtp_sasl_mechanism_filter&lt;/a&gt;&lt;br /&gt;&lt;a href="http://kazuizm.com/2006/12/28-072720.php"&gt;http://kazuizm.com/2006/12/28-072720.php&lt;/a&gt;&lt;br /&gt;&lt;a href="http://statphys.scphys.kyoto-u.ac.jp/~akihiko/linux/docomo.html"&gt;http://statphys.scphys.kyoto-u.ac.jp/~akihiko/linux/docomo.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.ecoop.net/memo/2007-03-31-1.html"&gt;http://www.ecoop.net/memo/2007-03-31-1.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.aconus.com/~oyaji/mail2/op25b.htm"&gt;http://www.aconus.com/~oyaji/mail2/op25b.htm&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.geocities.jp/yukke_no_kobeya/kurobako/fe8_130.html"&gt;http://www.geocities.jp/yukke_no_kobeya/kurobako/fe8_130.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.postfix-jp.info/trans-2.3/jhtml/SASL_README.html#client_sasl"&gt;http://www.postfix-jp.info/trans-2.3/jhtml/SASL_README.html#client_sasl&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.melnikov.ca/mel/devel/SASL_info.html"&gt;http://www.melnikov.ca/mel/devel/SASL_info.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://gmt-24.net/archives/181"&gt;http://gmt-24.net/archives/181&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.itscom.net/support/security/op25b/submission.html"&gt;http://www.itscom.net/support/security/op25b/submission.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.itscom.net/support/setup/internet/mailer/sub_smtp_thunderbird2_its.html"&gt;http://www.itscom.net/support/setup/internet/mailer/sub_smtp_thunderbird2_its.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.postfix-jp.info/trans-2.3/jhtml/postconf.5.html#smtp_sender_dependent_authentication"&gt;http://www.postfix-jp.info/trans-2.3/jhtml/postconf.5.html#smtp_sender_dependent_authentication&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.postfix-jp.info/trans-2.3/jhtml/transport.5.html"&gt;http://www.postfix-jp.info/trans-2.3/jhtml/transport.5.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6143936844695013686-5452247831454471125?l=insnvlovn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://insnvlovn.blogspot.com/feeds/5452247831454471125/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6143936844695013686&amp;postID=5452247831454471125' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/5452247831454471125'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/5452247831454471125'/><link rel='alternate' type='text/html' href='http://insnvlovn.blogspot.com/2011/06/blog-post_29.html' title='サブミッションポート'/><author><name>insn</name><uri>http://www.blogger.com/profile/05196582005861324185</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6143936844695013686.post-2191152935898116911</id><published>2011-06-26T00:57:00.000+09:00</published><updated>2011-06-26T00:57:47.595+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='nfs'/><title type='text'>nfs4のポート固定</title><content type='html'>&lt;pre&gt;$ rcsdiff -r1.1 /etc/config-archive/etc/conf.d/nfs,v /etc/conf.d/nfs&lt;br /&gt;===================================================================&lt;br /&gt;RCS file: /etc/config-archive/etc/conf.d/nfs,v&lt;br /&gt;retrieving revision 1.1&lt;br /&gt;diff -r1.1 /etc/conf.d/nfs&lt;br /&gt;15c15&lt;br /&gt;&amp;lt; OPTS_RPC_MOUNTD=""&lt;br /&gt;---&lt;br /&gt;&gt; OPTS_RPC_MOUNTD="-p 32767"&lt;br /&gt;19c19&lt;br /&gt;&amp;lt; OPTS_RPC_STATD=""&lt;br /&gt;---&lt;br /&gt;&gt; OPTS_RPC_STATD="-p 32765 -o 32766"&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;$ grep lockd /etc/modprobe.d/_local.conf&lt;br /&gt;options lockd nlm_udpport=32768 nlm_tcpport=32768&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;$ rpcinfo -p&lt;br /&gt;   プログラム バージョン プロトコル ポート&lt;br /&gt;    100000    4   tcp    111  portmapper&lt;br /&gt;    100000    3   tcp    111  portmapper&lt;br /&gt;    100000    2   tcp    111  portmapper&lt;br /&gt;    100000    4   udp    111  portmapper&lt;br /&gt;    100000    3   udp    111  portmapper&lt;br /&gt;    100000    2   udp    111  portmapper&lt;br /&gt;    100024    1   udp  32765  status&lt;br /&gt;    100024    1   tcp  32765  status&lt;br /&gt;    100005    1   udp  32767  mountd&lt;br /&gt;    100005    1   tcp  32767  mountd&lt;br /&gt;    100005    2   udp  32767  mountd&lt;br /&gt;    100005    2   tcp  32767  mountd&lt;br /&gt;    100005    3   udp  32767  mountd&lt;br /&gt;    100005    3   tcp  32767  mountd&lt;br /&gt;    100021    1   udp  32768  nlockmgr&lt;br /&gt;    100021    3   udp  32768  nlockmgr&lt;br /&gt;    100021    4   udp  32768  nlockmgr&lt;br /&gt;    100021    1   tcp  32768  nlockmgr&lt;br /&gt;    100021    3   tcp  32768  nlockmgr&lt;br /&gt;    100021    4   tcp  32768  nlockmgr&lt;br /&gt;    100003    2   tcp   2049  nfs&lt;br /&gt;    100003    3   tcp   2049  nfs&lt;br /&gt;    100003    4   tcp   2049  nfs&lt;br /&gt;    100227    2   tcp   2049  nfs_acl&lt;br /&gt;    100227    3   tcp   2049  nfs_acl&lt;br /&gt;    100003    2   udp   2049  nfs&lt;br /&gt;    100003    3   udp   2049  nfs&lt;br /&gt;    100003    4   udp   2049  nfs&lt;br /&gt;    100227    2   udp   2049  nfs_acl&lt;br /&gt;    100227    3   udp   2049  nfs_acl&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;$ netstat -an|grep -P ":(111|2049|32765|32766|32767|32768)\s"|sort -t':' -k2n&lt;br /&gt;tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN&lt;br /&gt;udp        0      0 0.0.0.0:111             0.0.0.0:*&lt;br /&gt;tcp        0      0 0.0.0.0:2049            0.0.0.0:*               LISTEN&lt;br /&gt;udp        0      0 0.0.0.0:2049            0.0.0.0:*&lt;br /&gt;tcp        0      0 0.0.0.0:32765           0.0.0.0:*               LISTEN&lt;br /&gt;udp        0      0 0.0.0.0:32765           0.0.0.0:*&lt;br /&gt;tcp        0      0 0.0.0.0:32767           0.0.0.0:*               LISTEN&lt;br /&gt;udp        0      0 0.0.0.0:32767           0.0.0.0:*&lt;br /&gt;tcp        0      0 0.0.0.0:32768           0.0.0.0:*               LISTEN&lt;br /&gt;udp        0      0 0.0.0.0:32768           0.0.0.0:*&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6143936844695013686-2191152935898116911?l=insnvlovn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://insnvlovn.blogspot.com/feeds/2191152935898116911/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6143936844695013686&amp;postID=2191152935898116911' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/2191152935898116911'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/2191152935898116911'/><link rel='alternate' type='text/html' href='http://insnvlovn.blogspot.com/2011/06/nfs4.html' title='nfs4のポート固定'/><author><name>insn</name><uri>http://www.blogger.com/profile/05196582005861324185</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6143936844695013686.post-2877741790501136328</id><published>2011-06-26T00:50:00.003+09:00</published><updated>2011-07-02T19:37:38.523+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='syslog-ng'/><category scheme='http://www.blogger.com/atom/ns#' term='iptables'/><title type='text'>iptables の設定のサンプル part2</title><content type='html'>概要。&lt;br /&gt;&lt;pre&gt;FORWARD =&gt; 全部DROP&lt;br /&gt;OUTPUT  =&gt; 全部ACCEPT&lt;br /&gt;INPUT&lt;br /&gt; +-main&lt;br /&gt;    +-ACCEPT(--in-interface lo)&lt;br /&gt;    |&lt;br /&gt;    +-icmpPrepare&lt;br /&gt;    |  +-icmpThrowTrust&lt;br /&gt;    |  +-icmpExec&lt;br /&gt;    |&lt;br /&gt;    +-ACCEPT(state RELATED,ESTABLISHED)&lt;br /&gt;    |&lt;br /&gt;    +-stateNew&lt;br /&gt;       +-classDPrepare&lt;br /&gt;       |  +-classDExec&lt;br /&gt;       |&lt;br /&gt;       +-classEPrepare&lt;br /&gt;       |  +-classEExec&lt;br /&gt;       |&lt;br /&gt;       +-httpPrepare&lt;br /&gt;       |  +-httpThrowDie&lt;br /&gt;       |  +-httpExec&lt;br /&gt;       |&lt;br /&gt;       +-localNetPrepare&lt;br /&gt;       |  +-localNetExec&lt;br /&gt;       |&lt;br /&gt;       +-sshPrepare&lt;br /&gt;          +-sshThrowTrust&lt;br /&gt;          +-sshExec&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;ユーザー定義チェインの最後に1秒あたり10件を最大値としてログを取って終了する。&lt;br /&gt;通らない部分にも書いてある。&lt;br /&gt;&lt;pre&gt;$ grep -n log-prefix rules-save.sh | perl -pe 's/iptables -A (.+?) .*--log-prefix "iptables: (.+?): ".*$/("$1" eq "$2") . " : $1"/e'&lt;br /&gt;...&lt;br /&gt;$ grep -nP "\-j (REJECT|DROP)" rules-save.sh&lt;br /&gt;...&lt;/pre&gt;&lt;br /&gt;loインターフェースから来たパケットを許可する。&lt;br /&gt;RELATED,ESTABLISHEDのパケットを許可する。&lt;br /&gt;ルーターからのclassD,classEのアクセスを許可する。&lt;br /&gt;192.168.0.100以外のwebサーバーへのアクセスを許可する。&lt;br /&gt;(一時的な設定として利用する。ある程度の期間で解除する)&lt;br /&gt;icmpを192.168.0.0/24,それ以外の、それぞれで回数制限を入れて許可する。&lt;br /&gt;192.168.0.0/24の範囲でsamba,nfs,dns,ntp,rsync,cvs,svn,muninなどを許可する。&lt;br /&gt;sshを192.168.0.0/24,192.0.43.10/32(example.com)の、それぞれで回数制限を入れて許可する。&lt;br /&gt;&lt;br /&gt;消す。1回消すごとに番号を確認する。&lt;br /&gt;&lt;pre&gt;$ sudo iptables -L -n -v --line-numbers&lt;br /&gt;$ sudo iptables -D httpPrepare 1&lt;/pre&gt;変更。&lt;br /&gt;&lt;pre&gt;$ sudo iptables -R httpPrepare 1 ...&lt;/pre&gt;1番上に追加。&lt;br /&gt;&lt;pre&gt;$ sudo iptables -I httpPrepare ...&lt;/pre&gt;1番下に追加。&lt;br /&gt;&lt;pre&gt;$ sudo iptables -A httpPrepare ...&lt;/pre&gt;&lt;br /&gt;設定ファイルから読み込み。&lt;br /&gt;&lt;pre&gt;$ sudo /etc/init.d/iptables reload&lt;/pre&gt;設定ファイルに保存。&lt;br /&gt;&lt;pre&gt;$ sudo /etc/init.d/iptables save&lt;/pre&gt;&lt;br /&gt;設定ファイル。&lt;br /&gt;&lt;pre&gt;$ sudo cat /var/lib/iptables/rules-save&lt;br /&gt;...&lt;/pre&gt;&lt;br /&gt;設定コマンドの例。&lt;br /&gt;&lt;pre&gt;$ cat bin/rules-save.sh&lt;br /&gt;iptables -F INPUT&lt;br /&gt;iptables -F FORWARD&lt;br /&gt;iptables -F OUTPUT&lt;br /&gt;&lt;br /&gt;iptables -P INPUT ACCEPT&lt;br /&gt;iptables -P FORWARD DROP&lt;br /&gt;iptables -P OUTPUT ACCEPT&lt;br /&gt;&lt;br /&gt;iptables -F classDExec&lt;br /&gt;iptables -F classDPrepare&lt;br /&gt;iptables -F classEExec&lt;br /&gt;iptables -F classEPrepare&lt;br /&gt;iptables -F httpExec&lt;br /&gt;iptables -F httpPrepare&lt;br /&gt;iptables -F httpThrowDie&lt;br /&gt;iptables -F icmpExec&lt;br /&gt;iptables -F icmpPrepare&lt;br /&gt;iptables -F icmpThrowTrust&lt;br /&gt;iptables -F localNetExec&lt;br /&gt;iptables -F localNetPrepare&lt;br /&gt;iptables -F main&lt;br /&gt;iptables -F sshExec&lt;br /&gt;iptables -F sshPrepare&lt;br /&gt;iptables -F sshThrowTrust&lt;br /&gt;iptables -F stateNew&lt;br /&gt;&lt;br /&gt;iptables -X classDExec&lt;br /&gt;iptables -X classDPrepare&lt;br /&gt;iptables -X classEExec&lt;br /&gt;iptables -X classEPrepare&lt;br /&gt;iptables -X httpExec&lt;br /&gt;iptables -X httpPrepare&lt;br /&gt;iptables -X httpThrowDie&lt;br /&gt;iptables -X icmpExec&lt;br /&gt;iptables -X icmpPrepare&lt;br /&gt;iptables -X icmpThrowTrust&lt;br /&gt;iptables -X localNetExec&lt;br /&gt;iptables -X localNetPrepare&lt;br /&gt;iptables -X main&lt;br /&gt;iptables -X sshExec&lt;br /&gt;iptables -X sshPrepare&lt;br /&gt;iptables -X sshThrowTrust&lt;br /&gt;iptables -X stateNew&lt;br /&gt;&lt;br /&gt;iptables -N classDExec&lt;br /&gt;iptables -N classDPrepare&lt;br /&gt;iptables -N classEExec&lt;br /&gt;iptables -N classEPrepare&lt;br /&gt;iptables -N httpExec&lt;br /&gt;iptables -N httpPrepare&lt;br /&gt;iptables -N httpThrowDie&lt;br /&gt;iptables -N icmpExec&lt;br /&gt;iptables -N icmpPrepare&lt;br /&gt;iptables -N icmpThrowTrust&lt;br /&gt;iptables -N localNetExec&lt;br /&gt;iptables -N localNetPrepare&lt;br /&gt;iptables -N main&lt;br /&gt;iptables -N sshExec&lt;br /&gt;iptables -N sshPrepare&lt;br /&gt;iptables -N sshThrowTrust&lt;br /&gt;iptables -N stateNew&lt;br /&gt;&lt;br /&gt;iptables -A INPUT -j main&lt;br /&gt;iptables -A classDExec -m limit --limit 2/min --limit-burst 6 -j ACCEPT&lt;br /&gt;iptables -A classDExec -m limit --limit 1/sec --limit-burst 10 -j LOG --log-prefix "iptables: classDExec: "&lt;br /&gt;iptables -A classDExec -j DROP&lt;br /&gt;iptables -A classDPrepare -s 192.168.0.1/32 -j classDExec&lt;br /&gt;iptables -A classDPrepare -m limit --limit 1/sec --limit-burst 10 -j LOG --log-prefix "iptables: classDPrepare: "&lt;br /&gt;iptables -A classDPrepare -j DROP&lt;br /&gt;iptables -A classEExec -m limit --limit 2/min --limit-burst 6 -j ACCEPT&lt;br /&gt;iptables -A classEExec -m limit --limit 1/sec --limit-burst 10 -j LOG --log-prefix "iptables: classEExec: "&lt;br /&gt;iptables -A classEExec -j DROP&lt;br /&gt;iptables -A classEPrepare -s 192.168.0.1/32 -j classEExec&lt;br /&gt;iptables -A classEPrepare -m limit --limit 1/sec --limit-burst 10 -j LOG --log-prefix "iptables: classEPrepare: "&lt;br /&gt;iptables -A classEPrepare -j DROP&lt;br /&gt;iptables -A httpExec -j ACCEPT&lt;br /&gt;iptables -A httpExec -m limit --limit 1/sec --limit-burst 10 -j LOG --log-prefix "iptables: httpExec: "&lt;br /&gt;iptables -A httpExec -j DROP&lt;br /&gt;iptables -A httpPrepare -s 192.168.0.100/32 -j httpThrowDie&lt;br /&gt;iptables -A httpPrepare -j httpExec&lt;br /&gt;iptables -A httpPrepare -m limit --limit 1/sec --limit-burst 10 -j LOG --log-prefix "iptables: httpPrepare: "&lt;br /&gt;iptables -A httpPrepare -j DROP&lt;br /&gt;iptables -A httpThrowDie -m limit --limit 1/sec --limit-burst 10 -j LOG --log-prefix "iptables: httpThrowDie: "&lt;br /&gt;iptables -A httpThrowDie -j DROP&lt;br /&gt;iptables -A icmpExec -m limit --limit 10/sec --limit-burst 300 -j ACCEPT&lt;br /&gt;iptables -A icmpExec -m limit --limit 1/sec --limit-burst 10 -j LOG --log-prefix "iptables: icmpExec: "&lt;br /&gt;iptables -A icmpExec -j DROP&lt;br /&gt;iptables -A icmpPrepare -s 192.168.0.0/24 -j icmpThrowTrust&lt;br /&gt;iptables -A icmpPrepare -j icmpExec&lt;br /&gt;iptables -A icmpPrepare -m limit --limit 1/sec --limit-burst 10 -j LOG --log-prefix "iptables: icmpPrepare: "&lt;br /&gt;iptables -A icmpPrepare -j DROP&lt;br /&gt;iptables -A icmpThrowTrust -m limit --limit 20/sec --limit-burst 600 -j ACCEPT&lt;br /&gt;iptables -A icmpThrowTrust -m limit --limit 1/sec --limit-burst 10 -j LOG --log-prefix "iptables: icmpThrowTrust: "&lt;br /&gt;iptables -A icmpThrowTrust -j DROP&lt;br /&gt;iptables -A localNetExec -j ACCEPT&lt;br /&gt;iptables -A localNetExec -m limit --limit 1/sec --limit-burst 10 -j LOG --log-prefix "iptables: localNetExec: "&lt;br /&gt;iptables -A localNetExec -j DROP&lt;br /&gt;iptables -A localNetPrepare -s 192.168.0.0/24 -j localNetExec&lt;br /&gt;iptables -A localNetPrepare -m limit --limit 1/sec --limit-burst 10 -j LOG --log-prefix "iptables: localNetPrepare: "&lt;br /&gt;iptables -A localNetPrepare -j DROP&lt;br /&gt;iptables -A main -i lo -j ACCEPT&lt;br /&gt;iptables -A main -p icmp -m icmp --icmp-type any -j icmpPrepare&lt;br /&gt;iptables -A main -m state --state RELATED,ESTABLISHED -j ACCEPT&lt;br /&gt;iptables -A main -m state --state NEW -j stateNew&lt;br /&gt;iptables -A main -m limit --limit 1/sec --limit-burst 10 -j LOG --log-prefix "iptables: main: "&lt;br /&gt;iptables -A main -j REJECT --reject-with icmp-host-prohibited&lt;br /&gt;iptables -A sshExec -m limit --limit 1/min --limit-burst 6 -j ACCEPT&lt;br /&gt;iptables -A sshExec -m limit --limit 1/sec --limit-burst 10 -j LOG --log-prefix "iptables: sshExec: "&lt;br /&gt;iptables -A sshExec -j DROP&lt;br /&gt;iptables -A sshPrepare -s 192.168.0.0/24 -j sshThrowTrust&lt;br /&gt;iptables -A sshPrepare -s 192.0.43.10/32 -j sshExec&lt;br /&gt;iptables -A sshPrepare -m limit --limit 1/sec --limit-burst 10 -j LOG --log-prefix "iptables: sshPrepare: "&lt;br /&gt;iptables -A sshPrepare -j DROP&lt;br /&gt;iptables -A sshThrowTrust -m limit --limit 2/min --limit-burst 12 -j ACCEPT&lt;br /&gt;iptables -A sshThrowTrust -m limit --limit 1/sec --limit-burst 10 -j LOG --log-prefix "iptables: sshThrowTrust: "&lt;br /&gt;iptables -A sshThrowTrust -j DROP&lt;br /&gt;iptables -A stateNew -d 224.0.0.0/4 -j classDPrepare&lt;br /&gt;iptables -A stateNew -d 240.0.0.0/4 -j classEPrepare&lt;br /&gt;iptables -A stateNew -p tcp -m tcp -m multiport --dports 80,443,8080 -j httpPrepare&lt;br /&gt;iptables -A stateNew -p udp -m udp -m multiport --dports 111,2049,32765,32766,32767,32768 -j localNetPrepare&lt;br /&gt;iptables -A stateNew -p tcp -m tcp -m multiport --dports 111,2049,32765,32766,32767,32768 -j localNetPrepare&lt;br /&gt;iptables -A stateNew -p udp -m udp -m multiport --dports 137,138,139,445 -j localNetPrepare&lt;br /&gt;iptables -A stateNew -p tcp -m tcp -m multiport --dports 137,138,139,445 -j localNetPrepare&lt;br /&gt;iptables -A stateNew -p udp -m udp -m multiport --dports 53,123,873,2401,3690,4949 -j localNetPrepare&lt;br /&gt;iptables -A stateNew -p tcp -m tcp -m multiport --dports 53,123,873,2401,3690,4949 -j localNetPrepare&lt;br /&gt;iptables -A stateNew -p tcp -m tcp --dport 22 -j sshPrepare&lt;br /&gt;iptables -A stateNew -m limit --limit 1/sec --limit-burst 10 -j LOG --log-prefix "iptables: stateNew: "&lt;br /&gt;iptables -A stateNew -j REJECT --reject-with icmp-host-prohibited&lt;/pre&gt;&lt;br /&gt;syslog-ngの場合のログ分割。&lt;br /&gt;&lt;pre&gt;$ rcsdiff /etc/config-archive/etc/syslog-ng/syslog-ng.conf,v /etc/syslog-ng/syslog-ng.conf&lt;br /&gt;===================================================================&lt;br /&gt;RCS file: /etc/config-archive/etc/syslog-ng/syslog-ng.conf,v&lt;br /&gt;retrieving revision 1.11&lt;br /&gt;diff -r1.11 /etc/syslog-ng/syslog-ng.conf&lt;br /&gt;31a32&lt;br /&gt;&gt; destination iptables { file("/var/log/iptables.log"); };&lt;br /&gt;64c65,66&lt;br /&gt;&amp;lt; filter f_kern { facility(kern); };&lt;br /&gt;---&lt;br /&gt;&gt; filter f_kern { facility(kern); and not message("^iptables: "); };&lt;br /&gt;&gt; filter f_iptables { facility(kern) and message("^iptables: "); };&lt;br /&gt;92a95&lt;br /&gt;&gt; log { source(kernsrc); filter(f_iptables); destination(iptables); };&lt;/pre&gt;&lt;br /&gt;ログローテーション。&lt;br /&gt;&lt;pre&gt;$ rcsdiff /etc/config-archive/etc/logrotate.d/syslog-ng,v /etc/logrotate.d/syslog-ng&lt;br /&gt;===================================================================&lt;br /&gt;RCS file: /etc/config-archive/etc/logrotate.d/syslog-ng,v&lt;br /&gt;retrieving revision 1.5&lt;br /&gt;diff -r1.5 /etc/logrotate.d/syslog-ng&lt;br /&gt;9c9&lt;br /&gt;&amp;lt; /var/log/debug /var/log/syslog /var/log/kern.log {&lt;br /&gt;---&lt;br /&gt;&gt; /var/log/debug /var/log/syslog /var/log/kern.log /var/log/iptables.log {&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;例。マルチキャストの許可の一部分。&lt;br /&gt;&lt;pre&gt;(1) iptables -A classDExec -m limit --limit 2/min --limit-burst 6 -j ACCEPT&lt;br /&gt;(2) iptables -A classDExec -m limit --limit 1/sec --limit-burst 10 -j LOG --log-prefix "iptables: classDExec: "&lt;br /&gt;(3) iptables -A classDExec -j DROP&lt;/pre&gt;&lt;br /&gt;説明。&lt;br /&gt;&lt;pre&gt;(1) iptables -A classDExec -m limit --limit 2/min --limit-burst 6 -j ACCEPT&lt;/pre&gt;は一斉にアクセスがあった場合、瞬間的に6回許可できます。&lt;br /&gt;その後は30秒後に許可できます。&lt;br /&gt;アクセスが無い期間が3分続いた場合、再度6回連続で許可できます。&lt;br /&gt;&lt;pre&gt;(2) iptables -A classDExec -m limit --limit 1/sec --limit-burst 10 -j LOG --log-prefix "iptables: classDExec: "&lt;/pre&gt;拒否されたアクセスを保存します。連続で10回保存できます。&lt;br /&gt;その後は1秒後に保存できます。&lt;br /&gt;アクセスが無い期間が10秒続いた場合、再度10回連続で保存できます。&lt;br /&gt;&lt;pre&gt;(3) iptables -A classDExec -j DROP&lt;/pre&gt;破棄します。破棄したことを相手に連絡しません。&lt;br /&gt;&lt;br /&gt;DROPまでの処理の流れ。&lt;br /&gt;(1)は、ルーターが30秒以内に7回マルチキャストを送ってきた場合(回数が回復しないうちに最大数+1送る)に、ACCEPTチェインではなく(2)に移動します。&lt;br /&gt;(2)は、ログの記録数制限なので必ず(3)に移動します。(-j XXX が無い)&lt;br /&gt;(3)は、そこで終了します。&lt;br /&gt;&lt;br /&gt;破棄の種類。&lt;br /&gt;-j DROP は負荷が高いので破棄する場合のみが望ましいです。&lt;br /&gt;-j REJECT --reject-with icmp-host-prohibited はそのようなサービス、プロセスなどが無いと伝える場合。&lt;br /&gt;&lt;br /&gt;ルールが1回適用されるとダメージが1であるとして、&lt;br /&gt;&lt;pre&gt;--limit 2/min --limit-burst 6&lt;br /&gt;最大HP   : 6&lt;br /&gt;HP回復量 : 30秒に+1&lt;br /&gt;&lt;br /&gt;--limit 1/sec --limit-burst 10&lt;br /&gt;最大HP   : 10&lt;br /&gt;HP回復量 : 1秒に+1&lt;/pre&gt;のような感じです。&lt;br /&gt;&lt;br /&gt;瞬間的に大量のアクセスがあるが許可したく、しかし、あまり連続で来られると拒否したい場合は、&lt;br /&gt;--limit-burstを多め、--limitを多めにします。&lt;br /&gt;&lt;br /&gt;例えば --limit 1/hour --limit-burst 1000 の場合、一気にアクセスが来ても1000アクセス許可しますが、&lt;br /&gt;1000を超えると、その後は1時間に1回しか許可しません。&lt;br /&gt;HPが1000に戻るまで1000時間かかります。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6143936844695013686-2877741790501136328?l=insnvlovn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://insnvlovn.blogspot.com/feeds/2877741790501136328/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6143936844695013686&amp;postID=2877741790501136328' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/2877741790501136328'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6143936844695013686/posts/default/2877741790501136328'/><link rel='alternate' type='text/html' href='http://insnvlovn.blogspot.com/2011/06/iptables-part2.html' title='iptables の設定のサンプル part2'/><author><name>insn</name><uri>http://www.blogger.com/profile/05196582005861324185</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6143936844695013686.post-3758062697863409455</id><published>2011-06-24T10:54:00.000+09:00</published><updated>2011-06-24T10:55:39.301+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ntp'/><title type='text'>ntpq -pn の jitter が増える =&gt; 同期が外れる =&gt; jitter が増える ...</title><content type='html'>&lt;a href="http://femt.ddo.jp/modules/xpwiki/?NTP%E3%82%B5%E3%83%BC%E3%83%90%E3%82%92%E8%A8%AD%E5%AE%9A%E3%81%97%E3%81%A6%E3%81%BF%E3%82%8B"&gt;http://femt.ddo.jp/modules/xpwiki/?NTP%E3%82%B5%E3%83%BC%E3%83%90%E3%82%92%E8%A8%AD%E5%AE%9A%E3%81%97%E3%81%A6%E3%81%BF%E3%82%8B&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;$ sudo 
