これを利用したデモを下記に設置しました。 IEを判別するスクリプトのデモ IEであれば「This is IE.」 IE以外は「This is NOT IE.」 とアラートを表示します。 IE6/7/8beta2, Fx2/3, Op9.6, Safari3, Chrome1で試したところ正しく動作しました。 コメントには、IE8でも動作する、とあります。
はじめに AJAXは、デスクトップアプリケーションと同じくらい対話性と応答性のよいリッチなWebアプリケーションを開発する手段として、多くの開発者に採用されてきました。AJAXでは、WebのUIを異なるセグメントに分割します。ユーザーはあるセグメントで操作を実行し、その操作が終わらないうちに他のセグメントで作業を開始することができます。 しかし、AJAXには大きな欠点があります。戻る、進む、ブックマークといった標準的なブラウザ機能が無効になるのです。AJAXアプリケーションの開発者は、ユーザーをAJAXの欠点に無理やり順応させるのではなく、アプリケーションを従来のWebインタラクションスタイルに合わせ、次の機能を提供するようにしなければなりません。[戻る]/[進む]ボタンが機能するようにして、エンドユーザーが直観的なやり方で履歴ページ間を移動できるようにする。ユーザーがブックマークを作成で
この記事の内容は嘘です。間違えてました。申し訳ありません。 謝罪 すみません。この記事の内容では並び替えが行われないようです。手元の環境では toString を見ていて並び替えられていたようです。指摘してくださった id:nanto_vi さんご指摘ありがとうございます。 以下のようにプロパティ値で並び替えたいとする。 var Klass = function(order) { this.order = order }; var array = [new Klass(3), new Klass(1), ....]; array.sort(function(a, b) { return a.order - b.order }); こうすると、 10 倍近く速くなる var Klass = function(order) { this.order = order }; Klass.proto
以下の一行をすべての JavaScript の前に読み込む /*@cc_on _d=document;eval('var document=_d')@*/ この一行を読み込むことによって IE での document へのアクセスが 5 倍速くなります。 たとえば 以下のように、読み込む前と読み込んだ後を比較してみます。 // Before var date = new Date; for (var i = 0; i < 100000; i++) document; alert(new Date - date); // 643 /*@cc_on _d=document;eval('var document=_d')@*/ // After date = new Date; for (var i = 0; i < 100000; i++) document; alert(new Date -
EfficientJavaScript - Dev.Opera - 効率的な JavaScript 目次 この文書について 効率的な JavaScript ECMAScript eval や Function のコンストラクタを使うのはやめよう eval を書き換えよう 関数を使いたいなら function を使おう with を使うのはやめよう 性能を決める関数で try-catch-finally を使うのはやめよう eval と with は隔離しよう グローバル変数を使うのはやめよう 暗黙のオブジェクト変換に気をつけよう 性能を決める関数で for-in を使うのはやめよう 文字列は累積スタイルで使おう プリミティブの操作は関数呼び出しより速い setTimeout() や setInterval() には文字列でなく関数を渡そう DOM 再描画と再フロー 再フローの回数をでき
jQuery history plugin - Ajaxアプリで戻るボタンを押したときに、操作前の状態に戻すためのjQueryプラグイン にて紹介いただきました.ありがとうございます. この動作は、イベント発生時に履歴にURLを追加しておいて、戻るボタンが押されたときは、ブラウザのキャッシュを利用して操作前の状態に戻すという感じでしょうか? 動作原理ですが, 1.location.hashを書き換えて戻るボタンの履歴に残るようにする 2.iframeのopen/closeで履歴に残るようにする の2つをブラウザによって使い分けることで実現しています. 上記をすると,#以降の部分を変更させたものを履歴に残すことができます. 戻るボタンを押すと,#以降が以前の状態に戻るので,#以降の部分が変化していないか定期的にチェックすることで戻ったことを判定しています. Ajaxと戻るボタン・ブックマーク
My current frog exaggerator of choice: var isMSIE = /*@cc_on!@*/false; Comments (67) Leave a comment Comment: #1 It seems to be the fastest and shortest way to know that, thank You! Comment: #2 ooops, maybe this one is even more horrible var isMSIE = /*@cc_on!@*/!1; reduced by 3 chars :rotfl: Comment: #3 […] Dean Edwards nous propose la méthode la plus courte (en terme de code )que j’ai eu l’occas
Dean Edwards: Sniff! My current frog exaggerator of choice JavaScriptでIEかどうかをたったの1行で判別する方法。 なんと、次の1行だけで、isMSIE 変数に、IEで見れば true 、そうでなければ false を代入することが出来ます。 var isMSIE = /*@cc_on!@*/false; 次のサンプルコードで確認しました。 <html> <script language="javascript"> var isMSIE = /*@cc_on!@*/false; if (isMSIE) { alert('IE!'); } else { alert('not IE!'); } </script> <body> </body> </html> IEであれば IE! を alert し、そうでなければ not I
JavaScript Closures 101- they're not magic Credits: This tutorial is written by Morris Johns. Morris maintains a personal blog called Developing Thoughts where he can be contacted via. This tutorial explains closures so that a regular programmer can understand them - using working JavaScript code. It is not for gurus nor functional programmers. Closures are not hard to understand once the core con
拙作「ココログカレンダーPlus」 furyu.tea-nifty.com および「ココログ用全文検索」 furyu.tea-nifty.com ですが、ブログへの設置用のスクリプトが新しくなっています(2019年3月以降~2020年11月の間に何度か変更しています)。 既設の方はお手数ですが、記事内の設置用スクリプトとご自分が設置されているスクリプトをご確認いただき、設置用スクリプトの最初の方にある <script ~ > の src="~" の部分(複数存在する場合があります)が違っているようであれば、記事記載のものに置き換えて設置し直していただけるようお願いいたします。 外部スクリプトの置き場(URL)が変更されています。これは、2019年3月の全面リニューアルに伴い、既存のスクリプトがファイルマネージャーにより変更できなくなった(削除しかできなくなった)ためです。
本家 Text::Hatena で HTML::Parser を用いている部分は実装できていません。 URL の自動リンクや HTML のエスケープなどは実装できていません。 Cookie を利用するようなサイトに text-hatena.js を利用するのはお勧めできません。 ライセンスは Text::Hatena と同等とします。 技術的なアレコレ Perl と JavaScript って意外と似てるよね、というところから出発しました。特に、Text::Hatena のソースコードはそのまま JavaScript に置き換えられるぐらいに洗練されたコードです。例えば、Hatena.pm の一部に次のようなソースがあるのですが sub parse { my $self = shift; my $text = shift or return; $self->{context} = Text
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く