JavaScript

Gunma.web#17 で話しました

2014/9/20に開催されたGunma.web #17で話してきました。 発表スライド Vimの話 from Munenori Sugimura コードはgithubに置いてあります。 jquery-vimize webサイトをvim化するjQueryプラグインです。一応このブログに導入しているので動作確認出来ます。 コマンドはこの辺に書いてあります。 書いたキッカケ もともと自分が書いたコードがあったのですが、ページトップに移動するコマンドがgだったのをとある方に「ggじゃないんですか?」って言われたのでちゃんと動くように書いてみました。 補足など 初めてのjQueryプラグイン作成なので […]

macのテキストエディタ Sublime Text2でJavaScriptのシンタックスエラーチェックをリアルタイムで行う方法

https://twitter.com/#!/javascript_j/status/197743453881380865 ココらへんのツイートからふとやってみようかと。 もともとのツイートはこのあたり SublimeLinter Kronuz/SublimeLinter - github リアルタイムで構文チェックを行なってくれる。 JavaScriptの他にも下記の言語に対応している(みたい) CoffeeScript CSS java Javascript Objective-J perl php python ruby Sublime Package Controlをインストール Su […]

JavaScriptの document.getElementById() でnullが帰る対処

とあるスクリプトで最初の実行時には正常に動作するのだけれど、同一ページを再訪問(リロードではなく)した時に不具合が出た。 webkit系のブラウザで不具合が確認できたのだけれど、どうやらgetElementById()でnullが帰っている様子。 ググってみると同じような現象で悩んでいる人もいるみたい。DOM構築前だとnullが帰る事もあるのが原因のようだ。 onLoadイベントとかはjQuery使っているのなら簡単に実装できるのだけれど、純粋JSで書いているスクリプトだし、他所様に配信するスクリプトなので解決方法を探る。 jQuery使っているのなら、$.ready(function(){. […]

JavaScriptでiframe操作時にchromeで不具合がでるのを回避する

とあるスクリプトで javascriptでiframeを書き、そのフレームをさらに書き換える・・・というものがあるのですが、スクリプトをページ内に複数設置すると、chromeでエラーになってしまうので回避策。 今までは document.write('<IFRAME id="フレーム名" name="フレーム名" ....></IFRAME>'); で描写して、ターゲットとなるiframeを var target_iframe = frames[フレーム名]; で取得していたのですが、これが2度目以降の実行時にundefinedとなってしまう。 var target_i […]

http://でアクセスされた場合に強制的にSSLページ(https://)へ移動させるJavaScript

自動でSSLページへ移動させるJavaScript ログインページ等でSSLのみのアクセスにしたいページがある場合、リンクをhttpsから始まるURL にしなくてはならないのでちょっと面倒。 仮想パス(../aaa/bbb/ccc.html)やフルパス(/aaa/bbb.html)で既にサイトを公開している場合には、どこかしらで修正を見逃す場合もある。 それならhttp でアクセスされた場合はhttps へ移動させればよさそう。 head内とかに以下のJavascript を設置するだけでOK. <script><!-- change ssl protocol if (doc […]

Javascriptでクエリーを取得する関数 getQueryStrings

location.URLなどから取得するのではなく、例えば下記ページのような事を行う関数。 javascriptでURLクエリで、変数を受け取ることはできないでしょうか? http://q.hatena.ne.jp/1179844292 <script src="sample.js?key1=value1&key2=value2"></script> などでクエリー(Javascriptではそう呼ばない??)を取得する。 注意点としては日本語等マルチバイトの文字をvalueにセットするには、URLエンコードしないとだめかも。 (呼び出し元のHTMLがUTF-8だ […]

JSONPのIE対応 UTF8で動かない件

IEでだけ動作しない事が多いようなのでメモ JSON(JSONP)で name( { 'data' :[ ['あいう','せそ'], ['かきく','けこ'], ['さしす','せそ'] ] } ); こんな感じのものを使おうとすると ']'がありませんというようなエラーが出る。 cgi等スクリプトで出力する場合はレスポンスヘッダを明示的に指定する必要がある。 perlなら print "Content-type: application/json; charset=UTF-8;\n\n"; のように。 charsetは'utf8'ではダメで'UTF-8'か'utf-8'とハイフンが必要のよう […]