javascript

javascriptの、call, apply, bind, arguments

http://www.slideshare.net/yuka2py/javascript-23768378 prototypeベースについては理解してるのでいいのだが、なんか覚えたと思ってもなんか忘れちゃうもののメモ。 this 関数の所属しているオブジェクトのこと。 関数呼び出し時に決定される。 (function{…

バイト数をリアルタイムに表示して、入るかどうかを確かめる

<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <script src="http://www.google.com/jsapi"></script><script>google.load("jquery", "1");</script> <script> $(function() { setByteCounter($("#t"), $("#c"), 240); }); function setByteCounter(jTextbox, jCounterSpan, nMax) {…</meta></head></html>

escape(), encodeURI(), encodeURIComponent() 比較

http://groundwalker.com/blog/2007/02/javascript_escape_encodeuri_encodeuricomponent_.html 全ての関数で[0-9A-Za-z]は変換されない。 escape()で変換されない記号は *+-./@_ だけである。 encodeURI()で変換されない記号は !#$'()*+,-./:;=?@_~ である…

ネットに接続されているかを判定する関数

function checkConnect() { var xhr = new ActiveXObject("Msxml2.XMLHTTP"); xhr.open("GET", "http://www.google.co.jp/", false); isConnect = true; try { xhr.send(); } catch(e){ isConnect = false; } return isConnect; }

HTML5 「カスタムデータ属性」

http://d.hatena.ne.jp/Naotsugu/20111007/1317994886 http://memo.yomukaku.net/entries/136 HTML4以前は正式な仕様としては、htmlタグに本来存在しない属性を埋め込むことは禁止されていた。 しかし、HTML5で"data-"というプレフィクスを持つ属性はユーザ…

スマホのタッチイベントを一気に実装できる13KBの軽量ライブラリ「QUOjs」:phpspot開発日誌

http://phpspot.org/blog/archives/2012/06/13kbquojs.html $$("p").tap(function(){ alert("tap"); });

スマホのタッチイベントを一気に実装できる13KBの軽量ライブラリ「QUOjs」:phpspot開発日誌

http://phpspot.org/blog/archives/2012/06/13kbquojs.html $$("p").tap(function(){ alert("tap"); });

jsファイルやcssファイルを更新したとき、キャッシュを働かせないようにする方法

http://www.koikikukan.com/archives/2011/08/29-015555.php jsファイルやcssファイルを更新したとき、ブラウザキャッシュから古いバージョンの内容が取得されてしまわないようにするには、以下のような書き方をすればよい。 <script src="./js/jquery.js?ver=1.6.1"></script>「?ver=《バージョン番号》」を…

JSlint

http://d.hatena.ne.jp/keyword/JSLint JavaScriptのソースコードをチェックッカ。

JSlint

http://d.hatena.ne.jp/keyword/JSLint JavaScriptのソースコードをチェックッカ。

Ajaxの通信中に画面遷移すると、ステータス0のエラーが発生する

http://jsdo.it/ginpei/tZvb http://d.hatena.ne.jp/cheesepie/20100418/1271591999 画面遷移の直前にAjax通信をして情報を保存しようとする場合、FirefoxやChromeだとXmlHttpRequest.statusが0のエラーが発生する。

子ウインドウに情報を引き渡す方法

javascriptで window.open して開いたウインドウに情報を引き渡すときにちょっと詰まったのでメモ。 結論から言うと、「子ウインドウに情報を書き込む」のではなく「書き込む情報を用意しておいて、子ウインドウ側でその情報を読む機能をつける」とよい。 開…

正規表現まとめ

http://d.hatena.ne.jp/ykhmtr/20110329/1301426906

jQuery IE Select Width

IEのselectタグによって作成されたドロップダウンが、一覧をオープンした際に一覧内のアイテムが表示しきれない幅である場合があるというバグの修整を行うjQueryPlugin。

javascriptでStopWatchクラス

.netにある、処理時間を測定するためのStopWatchクラス。 StopWatch = function () { this.nTime = 0; }; StopWatch.prototype = { start : function(){ this.startTime = new Date(); }, stop : function(){ this.nTime += (new Date()) - this.startTime; …

スクロールを最下部に移動する

http://www.kinopyo.com/blog/javascript-get-scrollbar-to-bottom $.fn.scrollToBottom = function(){ if(this.length == 0 || !this[0].scrollHeight) return; this.scrollTop(this[0].scrollHeight); }; $(function(){ $("#scrollItem").scrollToBottom();…

Firefoxでコンボボックスを変更した際のイベントを使う場合の注意

IEではコンボボックスのアイテムをキーボードの上下で選択してもchangeイベントが起きるが、firefoxではキーボードでアイテムを選択したときにchangeイベントは起きない。代わりにフォーカスが離れたときにchangeイベントが起きる。 これをIEと同様の動作に…

Firefox 4.0以上で、「ダイアログ表示を抑制する」確認がでてしまう問題

Firefox 4.0以上で、ajax等のコールバック関数からダイアログを表示するという動作を実行すると「このページによる追加のダイアログ表示を抑制する」確認ダイアログが表示される場合がある。 調査してみるとどうやら、 ・一定間隔以内でポップアップが何度も…

Firefox 4.0以上で、新たに開いたウインドウからjQuery.Blurが呼び出せない問題

Firefox 4.0以上では、なぜか開いた先のウインドウから親ウインドウのblurイベントを呼び出せないようだ。 親ウインドウのclickイベントは呼び出せるので、目的のblurイベントを呼び出すだけのボタンを一つ作って、開いた先のウインドウが閉じられるときにそ…

IE9ではダブルクリックイベント時に同時にクリックイベントが発生する

IE8までは、ボタンのクリックを連打したような場合は1回目のクリックで「クリック」、2回目のクリックで「ダブルクリック」イベントが発生していた。 IE9からは、ボタンのクリックを連打したような場合は1回目のクリックで「クリック」、2回目のクリック…

IE9にのみ、レイアウト崩れ対策のCSSを入れたい場合の対応

IE9でボタンを含むテーブルのレイアウトが崩れていた場合の対策

これは特殊なケースかもしれないが、IE9でテーブルが崩れていた時にボタンのonclick属性が原因だったということがあった。理由はよくわからないが、onclick属性を取り除くことでテーブルのレイアウト崩れが直った。 後からjavascriptでイベントを追加してや…

ZERO WIDTH SPACE を使って、Firefoxで禁則処理を無効にする関数

FirefoxやChromeなどで、URL等の通常ならば禁則処理がかかるために横長くなる文字を強制的に折り返して表示するようにする関数。 // 利用方法 if ( jQuery.browser.mozilla ) { $("#WordBrakeItem").html(CnvWordBreakHtml($("#WordBrakeItem").html())); } …

firefox5で、「このページによる追加のダイアログ表示を抑制する」確認ダイアログを出さないようにする方法

http://forum.mozilla.gr.jp/cbbs.cgi?mode=al2&namber=54276&rev=&&KLOG=359 ダイアログを短い時間に連続して出すことでこの警告が表示される。 about:configで、「dom.successive_dialog_time_limit(整数値)=1」を設定(存在しない場合は追加)すると、この…

firefox5で、「このページによる追加のダイアログ表示を抑制する」確認ダイアログを出さないようにする方法

http://forum.mozilla.gr.jp/cbbs.cgi?mode=al2&namber=54276&rev=&&KLOG=359 ダイアログを短い時間に連続して出すことでこの警告が表示される。 about:configで、「dom.successive_dialog_time_limit(整数値)=1」を設定(存在しない場合は追加)すると、この…

firefoxで、ダイアログ(モーダルウインドウ)のサイズを固定する方法

https://developer.mozilla.org/ja/DOM/window.open window.openまたは、window.showModalDialogのオプションに「resizable=no」を渡してやればいいのだが、それでもサイズ固定されない場合はブラウザ設定で、サイズ固定が無効にされている可能性がある。 ab…

テキストサイトに。JavaScript製のテキスト差分表示「jsdiff」

http://www.moongift.jp/2011/07/20110729-2/

jQueryプラグインを探す際にだいたい見て回る巡回サイトまとめ

http://cobs.jp/news/kachibito/2010/06/jquery-2.html

WSH(javascript)で、InputBox関数を使う方法

http://www5a.biglobe.ne.jp/~imo/javascript.html function InputBox(msg) { var VBS_String = 'InputBox("' + msg + '")'; var objSC = new ActiveXObject("ScriptControl"); objSC.Language = "VBScript"; return objSC.Eval(VBS_String); }こんないい方…

エディタで編集するだけでhtmlファイルをリロードするJavaScriptライブラリ

http://d.hatena.ne.jp/javascripter/20081103/1225682273 (function () { var last = null; (function request() { with (new XMLHttpRequest()) { open('get', location.href, true); send(null); onload = function () { if (!last || last == this.respo…