iモードブラウザ2.0では、同一ドメインであっても、iframe内のコンテンツがJavaScriptにより読み出せないよう制限が掛かっていることを確認しましたので報告します。 【追記】元の内容には、重大な事実誤認がありました。正確には、同一ドメイン・同一ディレクトリであれば読み出せます。詳しくは追記2をご覧ください。 きっかけ ケータイtwitter(twtr.jp)においてDNS Rebinding攻撃に対する脆弱性を発見・通報し、即座に修正された - 徳丸浩の日記(2010-02-22)にて既に紹介したように、twitter.comの日本のケータイ向けフロントエンドであるtwtr.jpにDNSリバインディング脆弱性があったことを確認・報告し、直ちに修正されました。このエントリの中に、以下のように書いています。 すぐに確認作業が終わるだろうと思っていたが、意外なところで失敗した。ログイン
The NavigationTiming draft is now located under the Mercurial repository. You will be redirected in a second...
はじめに 今回は、プログラム作成に、グラフィカルなユーザインタフェースを提供するウィジェット(Widgets)について説明して行きたいと思います。ウイジェットには、表などをページにポップアップさせるモジュールOverlay、スライダーを表示するモジュールSlider、タブパネルを可能にするインターフェースを提供するモジュールTabviewがあります。 対象読者 Webアプリケーションに興味があり、Yahoo! User Interface Libraryに注目している人。HTMLとJavaScriptを使える人を対象にしています。 必要な環境 HTMLとJavaScriptが作成できるエディターとインターネットにつながっているパソコンがあれば、例題の作成、確認ができます。 ポップアップ ページ作成時、一時的に表などをポップアップさせたいときがあると思います。このような時便利な、ポップアップ
「twitterに投稿」みたいなボタンをクリックしたときにblt.lyとかのAPIで短縮URLを作って、window.openで別ウィンドウでtwitterを開きたい場合に、bit.lyのAPIを呼ぶJSONPが非同期処理になるので、ほとんどのブラウザでポップアップブロックに引っかかってしまいます。 以前、これ困ったねーって@sugyanと話してたんですけど、@taku_eofにその話しして、色々方法考えてたらよさげなのがでたんでやってみました。 まず、これはポップアップブロックされます。 $('#hoge').click(function() { $.ajax({ type: "GET", dataType: 'jsonp', url: "http://api.bit.ly/shorten", data: {...}, success: function(data) { ... wind
Not rated yet. You must be logged in to rate this video.
Raphaelを使用して、それっぽいダイヤの画像が表示できました。 JavaScriptでSVGを描画する(Raphael使用) トランプ全種類表示できるよう、jsファイルを作ってみます。 my-trump.js こんな感じになりました。 ※Raphaelに依存しています。 Raphael function drawTrump(root, kind, number) { var card = Raphael(root, 150, 200); //枠線の描画 var rect = card.rect(0, 0, 150, 200); //塗りつぶし色をなし rect.attr("fill", "none"); //枠線を黒 rect.attr("stroke", "bluck"); //枠線の太さを指定 rect.attr("stroke-width", "5"); //カードの図柄を表示す
幻の ECMAScript 4th 幻となった ECMAScript 4th のドラフトを眺めていたところ, p.33 に Destructuring assignment and binding (分割代入, 分割束縛) という項目を発見した. 分割代入に関しては JavaScript 1.7 (Firefox などが用いる SpiderMonkey や Rhino に実装済み) から使用が可能であるため, ご存知の方も多いのではないかと思う. 「そういえば詳しい仕様は見たことがなかったな」と軽い気持ちで読み進めていたところ, そこに述べられていることが Haskell や OCaml など関数型言語におけるパターンマッチと同等であると分かり, 驚いた. 例えば, 分割代入においては次のように deep なパターンが利用可能であると書かれている. let { x: {a, b}, y:
おいしいご飯とつくる人の会 2010年8月21日に鎌倉どんぶりカフェbowlsで交流会イベント「ごはんとFlash」をやります。 ごはんとFlashは、おいしいものを食べながら、つくることについて考える交流会イベントです。(初回の様子) 今回はwonderflとjsdoitの連動イベントにあわせましてwith JSということ弊社外村(@hokaccha)が主催の都内で行われたJStudyと共催させてもらうことになりました。 ごはんとFlash with JS 詳細 ■日時 2010/8/21(sat) 19:00 - 22:00(open 18:30) ■会場 鎌倉どんぶりカフェbowls : (鎌倉市小町2-14-7 1F ■定員 80人(半立食形式) ■会費 5000円(カード不可/領収書可) ■ゲスト(予定) AR三兄弟 長男さん IAMAS小林さん ■申し込み方法 メールでお申し込
I love the <canvas> tag, but its 2D drawing API is intentionally minimal and unfriendly, so I've written a simple wrapper library that improves it. canto.js defines a single canto() factory function. Pass a canvas element or the id of a canvas element to this function, and it returns a Canto object to you. This Canto object is a drawing context, like the one you'd get by calling getContext('2d') o
羊毛布団を洗濯機にかけられないことを知りました。ago(@kyo_ago)です。 意外と知られていない機能が多い!?Firebugの使い方を見て、プログラマ向けも欲しくなったので書いてみました。 1. ショートカット一覧 以下のページでFirebugのショートカット一覧が公開されています。 http://getfirebug.com/wiki/index.php/Keyboard_and_Mouse_Shortcuts 取り合えず以下の二つだけでも覚えておくと効率的かもしれません。 F12でFirebugの有効、無効の切り替え 広いコマンドラインモード時にCtrl+Enterでコードを実行 また、以下のメニューからショートカットの変更も行えるので、他の拡張等とショートカットがかぶった場合でも別のキーで使用することが出来ます。 2. Firefox本体のツールバーに「要素を調査」ボタン Fi
ECMAScriptはJavascriptの仕様を標準化しようとして作成されました。http://www.ecma-international.org/publications/standards/Ecma-262.htmでPDF形式の仕様書が公開されています。このECMA-262.pdfの巻末にあるAnnex Aには拡張BNFによる文法の定義が記載されています。
localStorage.removeItem() 以外にも、localStorage.setItem(); や localStorage[key] = value; でも落ちるようです(コメント欄参照) <input id="A" type="text" value="" /><script>localStorage.removeItem(A.value)</script> 上記のコードをIE8で実行すると、タブクラッシュ → 復元 → タブクラッシュ → 復元機能停止 が発生します。 IE9pp3ではブラウザがクラッシュします。 回避するには テキストフィールドに値を入れるか、A.value を文字列型にキャストすることにより回避できます。 <input id="A" type="text" value="hoge" /><script>localStorage.removeItem(
こんばんは。笹亀です。 iPhoneの白をず〜〜っと待っているのですが、 今年末ということになってとても残念でなりません。 ここまで待ったので気長に待つことにします。 さて今日はAJAX内でのリダイレクト処理をした際に、 起こったことをご紹介させていただきます。 結論から言うと、 「AJAX内でリダイレクトするときはセッションは使うな!」 まずは遷移として下記のように試しました。 AJAXでSymfonyをfile_get_contentsで呼び出すスクリプトを指定します。 info.php ↓AJAXで呼び出し get.php(外部のSymfonyで作成されたページの呼び出し) ↓file_get_contents関数で呼び出し http://sasa.local/top/sessionTest ↓(Symfony内でリダイレクト http://sasa.local/top/sessio
イベントリスナの登録 document.addEventListener('keydown', function (e) { // 処理 }, false); 他にkeypressってのもあるけど、keydownをお勧め。 理由は確かGoogle chromeでkeypressにすると、Ctrl+a(全て選択)のようにデフォルトで別動作が定義されていた場合にそちらが先に動いてしまうため(だったはず)。 押されたキーの取得 var shortcutKey = 'a'; document.addEventListener('keydown', function (e) { var pressed = String.fromCharCode(e.which).toLowerCase(); pressed = (e.ctrlKey ? 'C-' : '') + (e.altKey ? 'A-' :
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く