Kanasan.JS JavaScript 第 5 版読書会 #5 に行ってきました (当日のチャットログ、参加者のブログ記事一覧)。今回からはいよいよ第 2 部、クライアントサイドスクリプトということで、13 章全体を読みました。 控えめな JavaScript JavaScript をどのように使うかの指針として、「控えめな JavaScript (unobtrusive JavaScript)」(WaSP DOM Scripting Task Force の声明文) というキーワードが挙げられています。 HTML マークアップと JavaScript コードを分離する。 正常に機能を停止する。ブラウザがある機能を持たない、もしくは JavaScript 自体が動作しない場合であっても、コンテンツが利用可能であるようにする。 アクセシビリティを低下させるのではなく、向上させる。 これは
オープンソースカンファレンス 2008 Kansai 内のセッション、Shibuya.js in Kyoto に発表者として参加させていただいたので、資料を公開します。 取説 正規表現 内容は JavaScript での正規表現の基本的な扱い方です。正規表現パターンの解説はよく見かけるのですが、それを実際にどう使うかという情報が不足していると感じたので、一部だけですが取り上げてみました。こちらの練習不足でぎこちないプレゼントなってしまい申し訳なかったです。 補足ですが、if ((match = re.exec(str)))、while ((match = re.exec(str))) のように条件式を丸括弧でくくっているのは、それが代入式であることを強調するためです。SpiderMonkey では if (match = re.exec(str)) などと書くと、「等値比較 (==) を代
JSONとJSONP ネタ元:JSONについての勉強メモ:外部URLから呼び出せない。どうやったら・・・ JSONやJSONPを利用したJavaScriptでのデータをの取り扱い方です。 JSONの場合 JSONはJSONについての勉強メモで書かれているようにデータをオブジェクトとして記述しておく方法です。 var jsonData ={"users": [ { name: "hamu", age : 24, language:["XHTML" , "CSS"] }, { name: "h2", age:25, language:["PHP" , "Java"] }, { name: "hoge", age:26, language:["JS" , "jQuery"] } ]} とJSONを定義しておけば、 for(var index in jsonData.users){ documen
console.time('nodeList'); var elems = document.getElementsByTagName('*'); for(var i=0;i<1000;i++) for(var j=0;j<elems.length;j++) elems[j]; console.timeEnd('nodeList'); console.time('array'); var elems = Array.slice(document.getElementsByTagName('*')); for(var i=0;i<1000;i++) for(var j=0;j<elems.length;j++) elems[j]; console.timeEnd('array'); console.time('length'); var elems = document.getElement
2008年07月13日16:00 カテゴリTipsLightweight Languages javascript - 特定のDOMをソース表示する すでにいくつかのentriesで使っているのですが、かなり便利なので改めて紹介。 表示元 表示したいHTMLを適当にdivタグで囲ってidを振っておく。ここではhtml2show 表示先として空のpreを作っておき、そこにもidを振っておく。ここではhtmlsrc 以下のようなscriptを、preタグの直下に転がしとく (function(src, dst){ dst.appendChild(document.createTextNode(src.innerHTML)) })( document.getElementById('html2show'), document.getElementById('htmlsrc') ); もちろん以下
Latest topics > 僕があまりDocumentFragmentを使っていない理由 - outsider reflex ただ、どんな場合でも上位のDOMノードをゴソッと差し替えて高速化する方法を使うべき、とは言えません。 DocumentFragmentを用いて要素を切り貼りすると、著者スクリプト等が動作しなくなることは私もよく経験しているので、そのスクリプトを検証するまでもなく確かにその通りだと思う。そして文書ツリーを多数回変更するときはDocument Fragmentを経由する (agenda)は、確かにどんな場合でもと言っているように読める。 ここは素直に謝りたい。申し訳なかった。文書ツリーを多数回変更するときはDocument Fragmentを経由する (agenda)を読んで、文書ツリーを多数回変更するときは、どんな場合でもDocument Fragmentを使うべ
Latest topics > 僕があまりDocumentFragmentを使っていない理由 宣伝。日経LinuxにてLinuxの基礎?を紹介する漫画「シス管系女子」を連載させていただいています。 以下の特設サイトにて、単行本まんがでわかるLinux シス管系女子の試し読みが可能! « スマートロケーションバーでNOT検索できるようにしたXUL/Migemo 0.10.5をリリースしたよ Main 遊びとか本気とか » 僕があまりDocumentFragmentを使っていない理由 - Jul 07, 2008 自分にはちょっと承伏できない理由でJintrick氏にDISられてるので、一応釈明しておきます。 ――「一応」と書いておきながら、Jintrick氏に「バカじゃねーの」みたいに煽られたような気がして感情的になってクドクド書き過ぎてしまったので、最初に例だけ示しておきます。 <?xml
We’re getting things ready Loading your experience… This won’t take long.
2025年8月最新版 レンタルサーバーおすすめ比較完全ガイド! 当ページのリンクには広告が含まれています。
ネットで検索すると大体、『Math.max()は、2つの数値を比較して大きいほうを返す』との説明になっています。 しかし、実際は、2つ以上のリストでも大丈夫です。 var biggest = Math.max(10, 11, 12, 9, 13, 8); alert(biggest); // 13が表示されるまた、他関数を自関数のようにしてしまうapply関数で、その第二引数には、他関数の引数を配列形式で渡します。 この2つの性質を利用すると、配列内の最大値を、apply関数で簡単に取得することが出来ます。 apply関数の第二引数へ、maxメソッドの引数すべてを配列形式で渡します。 var aaa = [10, 11, 12, 9, 13, 8]; var biggest = Math.max.apply(null, aaa); alert(biggest); // 13が表示されるちな
2008年06月12日02:00 カテゴリLightweight Languages javascript - 文字を確実に表示する 「Lingua::CJKV::Simplify で簡単繁盛」のような、日本語以外の文字も使うプログラムでちょくちょく来るクレームが、「表示できません」というもの。 これを解決してみました。 The quick brown fox jumps over the black lazy dog. 漢字、カタカナ、ひらがなの入ったtext. 「𪚲」もちゃんと表示するよ! <BR> on LF 種明かしは、こちら。 (function(){ var str2unicode = function(str){ var uni = []; for(var i = 0, l = str.length; i < l; i++){ var ord = str.charCodeA
2008年06月10日16:00 カテゴリLightweight Languages perl - Lingua::CJKV::Simplify で簡単繁盛 いやあ、 クリリンノコトカー を見たらむらむら作りたくなって、作ったらあっさりできちゃったという。 /lang/perl/Lingua-CJKV-Simplify/trunk - CodeRepos::Share - Trac NAME Lingua::CJKV::Simplify - (Simplified|Traditional) Chinese Characters SYNOPSIS use Lingua::CJKV::Simplify; my $cjkv = Lingua::CJKV::Simplify->new( "Dan,\x{5F3E},\x{5F48},\x{5F39}" ); print $cjkv, $cjkv->
bookreader.jsは、長文を縦スクロールではなく、横スクロールで表示し読みやすくするJavaScriptライブラリです。 →プロジェクトのホーム (Google Code) - New!! →ダウンロード(ver 0.4.6) - 2009/04/18公開 ※ダウンロードの詳細については、こちらのページをご覧下さい。 まずは、このページで体験してみて下さい。キーボードの[→]/[←]キーが、「進む」あるいは「戻る」に対応します。画面上に表示される、半透明の▶/◀ボタンをクリックしてもOKです。使い方の詳細は「ヘルプ」を参照ください。 次期バージョンの開発状況 幸いにしてさまざまな方からフィードバックをいただきました。ありがとうございます。それを元に機能の絞り込みとWEBサイトへの「組込み方」について検討を行っています。まだ、実装の方針が定まった、という段階ですが次期0.8.x系のサ
GoogleからGoogle AJAX APIを拡張する新しいサービス「The AJAX Libraries API」が公開された。The AJAX Libraries APIはGoogleのサイトで人気のある有益なJavaScriptライブラリを提供しようというもの。これまでYUIであればYahoo!、DojoであればAOLなどが同類のサービスを提供していたが、特定のJavaScriptライブラリに限定することなく有益であれば配布に追加するというポリシーをもっている点が新しい。 JavaScriptライブラリを活用するタイプのWebアプリケーションは数多くある。結果として、何度も似たようなJavaScriptライブラリをダウンロードしていることになり、このままいけば今後ライブラリ自体のサイズの巨大化や多くのサービスの登場でライブラリダウンロード総量は増加することになる。 The AJAX
はじめに W3C の仕様に CSS の値を変換が可能なオブジェクトが定義されていることに気がついたのでメモしておきます。 まず CSSStyleDeclaration オブジェクトを取得する 例えば、 var decl = element.style; または、 var decl = getComputedStyle(element, ''); http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration CSSStyleDeclaration オブジェクトから getPropertyCSSValue という関数を使って CSSValue オブジェクトを取得する var val = decl.getPropertyCSSValue('width') http://www.w3.org/TR/DOM-Level
はてな http://b.hatena.ne.jp/entry/json/URL livedoor http://api.clip.livedoor.com/json/comments?link=URL でJSONコードを取得できるのだが、微妙に仕様が異なる。 はてなはオブジェクトの前後に()が付くのに対してlivedoorのは付かない はてな:({"count":"100","bookmarks":[{....}]}) livedoor:{"link":"URL","Comments":[{....}]} という感じ。 Firefox3から導入されたJavaScriptモジュールを使用して両者のコードをデコードしようと試みたのだが、()が付いているとデコードできずにエラーが返ってしまう。 Chrome特権上でコードを動かしているので単純にevalを使うのは危険かなと思い、SandBox上
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く