End script and style with newline? Support e4x/jsx syntax Use comma-first list style? Detect packers and obfuscators? (unsafe) Preserve inline braces/code blocks? Keep array indentation? Break lines on chained methods? Space before conditional: "if(x)" / "if (x)" Unescape printable chars encoded as \xNN or \uNNNN? Use JSLint-happy formatting tweaks? Indent <head> and <body> sections? Keep indentat
[対象: 中〜上級] 僕のブログではてブ数がいちばん多いのはウェブページを高速化するTIPSを解説した記事です(まだ読んでない人はぜひ読んでください!)。 その記事では高速化全般を扱っていましたが、今日の記事ではJavaScriptに的を絞って表示速度をスピードアップできる施策を6つ紹介します。 もともとはSearch Engine PeopleブログのOptimizing JavaScript for Better Web Performanceで説明されていたものです。 記事作者のJoydeep Deb(ジョイディープ・デブ)氏に僕のブログでの転載許可をもらえました (Thanks, Joydeep!)。 逐一の翻訳ではなく、書かれている内容をもとに僕の言葉で解説していきます。 1. HTTPリクエスト削減のためにJavaScriptファイルを1つに統合する ウェブページの表示を高速化
グーグルが開発したJavaScript MVCフレームワーク「AngularJS」を紹介した1つ前の記事の反応が予想以上に大きく、1日たたずにブックマークが500以上もつきました。 本記事では、AngularJS以外にもすでにたくさん存在するJavaScript MVCフレームワークに関する情報をまとめて紹介したいと思います。 JavaScript MVCフレームワークの比較記事 既存のJavaScript MVCフレームワークを比較した記事が「The Top 10 Javascript MVC Frameworks Reviewed」です。Top10と書いてありますが、12種類のフレームワークの比較です。これは公開当時は10種類だったものが、その後11種類になり、今回のAngularJSの公開で12種類になったためです。 上記のような比較表を載せた上で、12種類すべての利点と欠点を説明し
2012年 6月 13日 新しいサーバーでブログをリニューアルして気がついた、SNSボタンの有無でかなり読み込み速度に差がある。といっても2,3秒ほどですが、これは結構命取りだったりします。 まぁ私もそんなに詳しいわけではないので断言できませんが。 ・訪問者はその数秒でサイトから逃げる ・Googleはその数秒を評価基準に入れる たしか遅延ロード(Lazy Load)とかいう技術ですね。 わりとポピュラーなコードで何とかなったので書いときます。 ピュアなJavaScriptではなく、jQuery使いますね。 方法その1 時限式読み込み body閉じタグの前あたりに書きます。 . . . <div id="snsbox"></div> <script type="text/javascript"> var snscode = 'ここに、SNSのコードを書く' + '一行でつなげても良いが見に
こんにちは、中川です。 今回は「Google JavaScript Style Guide」を気軽にチェックできるClosure Linterをご紹介したいと思います。 http://google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml Google JavaScript Style Guideのいいところですが、 規約だけでなく、しっかりしたツールも揃っているところが素晴らしいと思います。 コーディング規約はあったとしても、それに従っているか定期的に簡単にチェックする方法がないと、 いつしか守られないまま開発されてしまうことになりますね。 ※今回の内容はMacにて動作確認を行なっています。
問題 Javascriptで、数値の配列から、最大値、最小値を求めよ。 答え var a = [3, 1, 4, 1, 5, 9, 2, 6]; Math.max.apply(null, a); // → 9 Math.min.apply(null, a); // → 1 補足 何が起きているのか。 Math.max(5, 7) // → 7 Math.max(5, 7, 4, 9, 1) // → 9 Math.max は可変長の引数をとります Math.max([5, 7, 4, 9, 1]) // → NaN そもそもダメです Math.max.apply(null, [5, 7, 4, 9, 1]) // → 9 OKです applyの第一引数は何でもよい。結果は変わらない。 Math.max.apply({}, [5, 7, 4, 9, 1]) // → 9 OKです Math.
要件 ・WSHでjQueryを使いたい 事前準備はd:id:hirataka522:20080806を参考 ・とりあえずRSSを取得してみる treeIE.wsf <?xml version="1.0" encoding="UTF-8" standalone="yes" ?> <package> <job id="ajax"> <?job error="true" debug="false" ?> <!-- jQuery for WSH --> <script language="javascript"> <![CDATA[ var html = new ActiveXObject("htmlfile"); var window = html.parentWindow; var navigator = window.navigator; var document = window.docu
Windowsでかつ、InternetExplorerを使ったときだけなんだけど (また、セキュリティ上、HTTPを使わないで、そのファイルをダブルクリックして表示したときだけなんだけど) Javascriptから、テキストファイルを保存、読み込みさせる方法 Scripting.FileSystemObject を使います。 ■仕様 outtest.txtというファイル名で <html> <head><title>ファイルのテスト</title></head> <body> <SCRIPT Language="JavaScript"> <!-- //======================================// // ファイルシステムの取得 // //======================================// var fs = new ActiveX
JavaScriptでは初期化されていない変数には全て「undefined」という値が入っています。 var a; alert(a); //undefinedが入っている これを利用して、変数が定義済みかどうかを判別することが可能です。…が、やり方がいろいろあるみたいなので、まとめてみることにします。 undefinedと比較する if (a === undefined) { alert("aは未定義"); } グローバル変数として、そのまんまundefinedという名前の変数が用意されているので、それと比較するやり方。一番素直な方法ですが、JavaScriptにおいては良くない書き方とされています。 undefinedは予約語ではなく、単なる変数です。だから上書きすることができるし、関数スコープ内で同名のローカル変数を作ることもできます。(ただし最近の処理系ではconst扱いになって上書
ちょっとつまずいたので記録。 経緯。 http://textile.thresholdstate.com/でマークアップしたテキストをウェブブラウザで表示できないかと考えた(性懲りもなくまた無節操にいろいろ手を出してます)。 Textileを解釈してHTMLに変換してくれるJavaScriptのスクリプトを見つけたので、これを使おうと考えた。 Textileでマークアップしたテキストは表示するHTMLファイルとは別ファイルにしようと考えた。 そこでブラウザで表示されたときにjQuery.getメソッドでTextileで書かれたファイルを読み込もうとした。 Google Chromeを使ってテストしたら表示されなかった。ChromeのJavaScriptコンソールを開いてみると「XMLHttpRequest cannot load file:///(中略)/sample.textile. O
先生:今日は 最後の クラブ活動だ 前回はウィンドウなしの アプリケーションを作った 今回はウインドウ付きの アプリケーションを作るぞ 麗:そんなことが できるんですか? 先生:ああ 『HTA』を使えば バッチリできる それで 『HTA』なんだが HTMLファイルの拡張子を 『.hta』にすれば完成だ .html ↓ .hta 3人:… 3人:はっ? 遊:いくらなんでも それは手抜き過ぎじゃ! 先生:ダブルクリック してみろ (ウィンドウ表示) 遊:あれ? ブラウザではなく ウインドウが 立ち上がった! 先生:どうだ 物すごく楽だろう? 遊:おみそれ しました 先生:前回の『cmnFunc.js』を 改造すれば ファイル操作も行える 改造箇所は 2ヶ所だ // 1ヶ所目 this.createObject = function(name) { try { return WScript.Cr
【1Page】 先生:今回はWebページから離れて ローカルアプリケーション をJavaScriptで作るぞ 遊:ローカルアプリケーション? 先生:EXEファイルみたいに ダブルクリックで実行したり ドラッグ&ドロップで 起動したりするソフトだ 守:へー JavaScriptで 作れるんですか? 先生:ああ 『WSH』を使えば作れる WSH = Windows Script Host というわけで 俺が作った テンプレート を示すぞ 【2Page】 【sample.wsf】 <job id="main"> <script language="JavaScript" src="cmnFunc.js"></script> <script language="JavaScript"> // グローバル変数 var args; // 引数 var dropFilePath = ""; // ドロッ
W3Cで標準化が進められている「File API」を使うと、指定したローカルファイルのファイル情報やファイルの中身(データ)をJavaScriptで取得できます。今回のJavaScriptラボはこのFile APIを使って、ブラウザー上にファイルの内容を表示してみましょう。テキストファイルの内容をそのまま表示するサンプルと、バイナリファイルを16進数データの羅列(バイナリダンプ、ダンプリスト)として表示するサンプルを作成します。 File APIの対応ブラウザー File APIは2010年10月現在、以下のブラウザーで利用できます。 Firefox 3.6 / 4β Google Chrome 6 このほか、Safari 5が、File APIを使ったファイル情報(ファイル名やファイルサイズなど)の取得に対応していますが、ファイル内容へのアクセスはできないので今回作成するサンプルは動作し
この記事は abicky.net の JavaScriptからローカルファイルを作成する方法まとめ に移行しました
「Sorting elements with jQuery」にてテーブルやリストのソートの作り方を紹介していました。 指定したエレメントを並べ替えたり、並び替えのルールを自分で作り込みができるため、実務で使う場合に良さそうです。 詳しくは以下 並び替え方法などの自由なカスタマイズが可能 jQueryでテーブルをソートさせるプラグインはいくつかありますが、デザインが入っていたり、並び替え方法のカスタマイズが難しかったりして実務で使えるものは少なかったと思います。 以下のような設定で実装できるようです。 htmlは単純なリスト要素で作成します。 <ul> <li>Banana</li> <li>Carrot</li> <li>Apple</li> </ul> 並び替えのルールは自前で構築する必要があります。 アルファベット順にする場合 $('li').sort(function(a, b){
<?php $list = array( array("no"=>3, "cat"=>5, "body"=>"リンゴ"), array("no"=>2, "cat"=>4, "body"=>"みかん"), array("no"=>4, "cat"=>5, "body"=>"ナシ"), array("no"=>6, "cat"=>3, "body"=>"バナナ"), array("no"=>1, "cat"=>4, "body"=>"オレンジ") ); usort($list, create_function('$a, $b', 'return $a["cat"]-$b["cat"];')); print_r("<pre>"); print_r($list); print_r("</pre>"); ?>
JavaScriptで、二次元配列を任意の列でソートする方法です。 数値でソートするものとし、昇順、降順が指定できます。 function xsort(arrs, col, order){ //二次元配列のソート //col:並べ替えの対象となる列 //order:1=昇順、-1=降順 arrs.sort(function(a,b){ return (a[col]-b[col])*order; }); return arrs; }
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く