MySQL、オープンソース系、ウェブ系ネタ。Text2でJavaScriptのシンタックスエラーチェックをリアルタイムで行う方法https://twitter.com/#!/javascript_j/status/197743453881380865ココらへんのツイートからふとやってみようかと。githubリアルタイムで構文チェックを行なってくれる。インストール必要がある。追加されるので選択する。テキストボックスに「SublimeLinter」を入力する。選択すれば自動でインストール開始する。siteJavaScriptでJSHintやJSLintを使うにはNode.jsが必要。)をダウンロードしてインストール。$PATH.JSHintのインストールuipoet/sublime-jshintJSHintはJSLintのフォーク。false->trueに変えるとより強調される。false,エラーがあるところは強調や下線等してくれる。jQueryのコードとかになるとエラーばっかりになってしまうのが...。手動モードにしたほうがいいのかも。ちなみにちょっと頑張ったんだけど、Perlの構文チェックを有効にする方法が分かりませんでした...。nullが帰る対処とあるスクリプトで最初の実行時には正常に動作するのだけれど、同一ページを再訪問(リロードではなく)した時に不具合が出た。webkit系のブラウザで不具合が確認できたのだけれど、どうやらgetElementById()でnullが帰っている様子。ググってみると同じような現象で悩んでいる人もいるみたい。DOM構築前だとnullが帰る事もあるのが原因のようだ。onLoadイベントとかはjQuery使っているのなら簡単に実装できるのだけれど、純粋JSで書いているスクリプトだし、他所様に配信するスクリプトなので解決方法を探る。いいのだろうけど、そうはいかない。onLoadイベントに登録すればいい。いいのだけど、onLoadイベントは1つしか実行できないので工夫が必要になる。かいたHTML中にあるIDが付いたタグの中に別処理で作成したHTMLを放り込むもの。});みたいな感じにすればonLoadイベントとして実行してくれる。することで、getElementById()でnullが帰らなくなる。javascriptでiframeを書き、そのフレームをさらに書き換える・・・というものがあるのですが、スクリプトをページ内に複数設置すると、chromeでエラーになってしまうので回避策。frames[フレーム名];で取得していたのですが、これが2度目以降の実行時にundefinedとなってしまう。document.getElementById(ifrname).contentWindow;でもやはり取得できず。他のブラウザでは問題ないので気が付かなかったのだけれど、chromeのみ症状が出た。解決策としてはDOMでiframeを追加する事で望んだ結果が得られた。その他のブラウザIEの6,7,8を判別するJavascriptJavaScriptでIEかどうかをたったの1行で判別する方法この両者のスクリプトを合わせてみた。ライブラリを使いたくない(or使えない)状況で役に立つかも。ちなみに「IEの6,7,8を判別するJavascript」のコードは間違っていたので少々修正。相変わらずクソな実装のIE。以下の挙動はホントにクソ。先人の方々に感謝感激雨あられですわ。(ウップス!!なかわけ)しかも、かなり重要なことを発見しました。Function(""));ではダメなのです。うまく処理されません。Function(""));あー、これも引っかかってたわ。上記の対応をすると他のブラウザで動かない。7以下用に振り分けないとダメなのか。クロスブラウザにするには手間ががかかる・・。DBIx::Class(DBIC)でtimestamp的なカラムの自動更新Mojoliciousでactionの前後に実行される独自のHookを作る。