ガール・ミーツ・スーパーガール 今年はサンマがたくさん獲れているらしい。 どのスーパーに行っても今が旬だよ、今日とかめっちゃお買い得だよ、みたいな感じで売られている。実際キラキラしていておいしそうだ。でも乱獲が問題視されてなかったっけ?私が婆さんになっても海にはサンマが泳いでいてほ…
ガール・ミーツ・スーパーガール 今年はサンマがたくさん獲れているらしい。 どのスーパーに行っても今が旬だよ、今日とかめっちゃお買い得だよ、みたいな感じで売られている。実際キラキラしていておいしそうだ。でも乱獲が問題視されてなかったっけ?私が婆さんになっても海にはサンマが泳いでいてほ…
何が危ないのか img.onerror や img.onload は src 属性の内容が評価された段階で実行されるので、外部ソースに対して HTMLDocument を構築する際などで、意図していないタイミングでスクリプトが実行されるケースがある。 具体的には、以下のような場合。 var source = '<img src="not_found.jpg" onerror="alert(1)">'; var range = document.createRange(); range.createContextualFragment(source); // onerror が実行される var img = document.createElement('img'); img.setAttribute('onerror', 'alert(1)'); img.src = 'not_found.
これでできる! クロスブラウザJavaScript入門:第2回 完全版:ブラウザとデバッグ環境|gihyo.jp … 技術評論社 この記事では、いかにして、バージョンの古いブラウザ環境を構築するかに、紙面の大半を割いている。有害すぎる。 そもそも、バージョンの古いブラウザは、規格を正しく実装せず、必ずセキュリティホールを含んでいるのである。このようなworkaroundは、何も生み出さない。ただ、問題をややこしくするだけである。この記事は、クロスブラウザのための環境構築という大義名分のもと、その実、自分自身が、クロスブラウザに多大な労力をつぎ込まなければならない環境構築の片棒を担いでいるのである。本末転倒も甚だしい。 何のためにWeb標準が策定されているのか。何のために、各ブラウザベンダーは、ブラウザをアップデートしているのか。クロスブラウザなどということを、考えなくても済むようにするため
IEBlog : The New JavaScript Engine in Internet Explorer 9 要点だけまとめ。 最近は、Javascriptを、本物のプログラムとして使うサイトが増えた。ページのCPU使用率の、八割方を、Javascriptが占めているようなページすらある。 そういうわけで、Javascriptをネイティブコードにコンパイルして、最適化するのが、最近の流行である。 動的な言語であるJavascriptを早くするというのは、なかなか難しい。ただに、ネイティブコードを生成すればいいと言うものでもない。Javascriptのような、動的な言語に対して、効率のいいネイティブコードを生成するのは、やはり難しい。が、テクニックは、いくつも考案されている。 問題は、効率のいいネイティブコードを生成するのには、コストがかかるということだ。 多くのサイトでは、Javas
wtfjs: I’m certain that this will end all debate about where curly braces belong… right? function laugh_undefined() { return { haha: "ha!" }; } laugh_undefined(); // returns undefined function laugh_okey() { return { haha: "ha!" }; } laugh_okey(); // returns Object: { haha: "ha!" } そんなバカな。期待と違う動作をするではないか。しかも、まともな解説がない。 I’m certain that this will end all debate about where curly braces belong… righ
Latest topics > evalが危険でそれ以外の方法が安全だと思ってる人へ 宣伝。日経LinuxにてLinuxの基礎?を紹介する漫画「シス管系女子」を連載させていただいています。 以下の特設サイトにて、単行本まんがでわかるLinux シス管系女子の試し読みが可能! « そろそろFirefoxからChromeへの移行を本気で検討した方がいい気がしてきた Main W3C信者だったくせに現実におもねってるというアレ » evalが危険でそれ以外の方法が安全だと思ってる人へ - Feb 08, 2010 先日、ソース表示タブのアップデート版をAMOにアップロードしたところ、公開申請が却下されました。「不必要なeval()が多すぎる。拡張機能におけるeval()の5つの間違った使い方(原文:Five wrong reasons to use eval() in an extension)
[追記]実際に使用したい方は @civic さん作のLDR Image Loader extensionをどうぞ。 Chrome Dirty Hacks 01: fc2 image for LDR - 枕を欹てて聴くの別解みたいなのです。要は、livedoor Readerでfc2やアメブロの画像を表示してやろうというネタです。 まず、id:edvakfさんが実験していた edvakf's gist: 48621 — Gist から インラインフレームにdataスキームでhtmlを挿入するとlocationがそのdataスキーム自身になり、そこからのリクエストにはリファラがつかない というテクニックを応用して、さらに errorイベントキャプチャリングフェーズで監視*1して画像のerrorを捕捉 インラインフレームを作ってデータスキームのhtmlを挿入し、そのなかで読み込みに失敗した画像を
はじめに みなさん、こんばんわ! さてさて最近のことですが、 Google の検索結果にイベントや予定へのリンクが表示されるようになりましたね!(まだ、英語版だけですけどね^^;) ASCII.jp:Google、リッチスニペットでイベントの日時や場所表示に対応 以下のような感じで表示されるみたいです! ウェブページの中に書かれた「予定」や「イベント」などを Google 先生が理解して表示しているんですね! この予定やイベントはどうやって探してるの? Google は hCalendar という形式のデータを読んで、予定やイベントを探しているようです。 というわけで、今日はこの Google が使っている hCalendar というものが「どういうもので」「どうやって活用すればいいか」を実例を交えながら紹介したいと思います。 hCalendar って何? hCalendar とは「カレン
WebOS Goodies へようこそ! WebOS はインターネットの未来形。あらゆる Web サイトが繋がり、共有し、協力して創り上げる、ひとつの巨大な情報システムです。そこでは、あらゆる情報がネットワーク上に蓄積され、我々はいつでも、どこからでも、多彩なデバイスを使ってそれらにアクセスできます。 WebOS Goodies は、さまざまな情報提供やツール開発を通して、そんな世界の実現に少しでも貢献するべく活動していきます。 昨日、 HTML5 勉強会で Opera の開発者向け機能についてプレゼンしてきました。会場が Opera の目黒オフィスということで急遽駆り出されました(笑)。 こういったプレゼンをするときに必要なのがプレゼン資料(スライド)の作成。これまでは Google Docs や OpenOffice.org で作っていたのですが、これがどうにも不便。ちょっとしたことを
JavaScript において文字列の置換 (文字列中のある部分文字列を別の文字列に変換する) を行うためには String#replace メソッドを使用します。 // 第 1 引数が置換対象の文字列, 第 2 引数が置換後の文字列 window.alert( "test".replace("t", "a") ); // => "aest" と表示 ここで、最初の "t" は "a" に置換されていますが、2 番目の "t" は置換されていません。 これは、デフォルトでは String#replace メソッドは最初にマッチしたものしか置換しないためです。 該当する文字全てを置換したい場合は、第 3 引数に "g" を渡す方法 (これは ECMAScript の仕様にはない模様. JavaScript や JScript の独自拡張ぽい) や、第 1 引数を g フラグ付きの RegEx
Kanasan.JS Jetpack ワークショップに行ってきました。Jetpack は Firefox 用の簡易拡張プラットフォーム。私としては通常の拡張機能のほうが高い自由度を持てて好きなのですが、Firefox を広く一般に使ってもらうには、簡単なものを簡単に作れるようにするという点が重要なのでしょう。 最初に mollifier さんによる Jetpack 入門があった後、二人組になり各グループで Jetpack フィーチャーを作っていくという流れ。私は satyr さんとペアになったのですが、さすが satyr さん、ゴルファーだけあって見慣れぬ記法を次々と使ってきます。 var { href } = location; 上のコードは分割代入の省略形式で、 var { href: href } = location; の略、さらには、 var href = location.hr
CSS を利用したアニメーションでは、必ず現在時刻を取得するコードが入ります。 var now = +new Date; ECMAScript-262 5th では Date.now() が新しく追加されました。 Date.now() は +new Date と同じ機能(現在時刻を数値で返す)を持ちながら、new の必要がないため速そうです。 ベンチ <!doctype html><html><head><title></title> </head><body> <script> window.onload = function() { Date.now || (Date.now = function() { // Date.now が実装されていないブラウザ用の実装 return +new Date; }); job1(); job2(); } function job1() { var
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
元ネタ:とある櫻花の画像生成、とある画像の自動生成<ジェネレータ> HTML5のcanvasを使ってやっつけ仕事。グラデーションは面倒なのでやめた。SilverLightやサーバーサイドは、もはや過去の遺物である。これからはクライアントサイドのみで、これぐらいやるのが当たり前になるべきだ。フィード経由で閲覧している人は、ご面倒ではございますが、直接見ていただいくようお願いいたします。 主要ブラウザでテストしてみた結果。 Chrome, Safari: 完璧 Firefox: なぜか@MS ゴシックが意図通りに描画されない。 Opera: canvasの文字列描画をサポートしていない。 IE: えーと……とりあえずお前はカエレ。 グラデーションは、思いのほか簡単だった。 Anonymous said... 私はWindowsでSafari 4を使っていますが、振り仮名(インデックス)の部分が
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
サロゲートペアは大事 元ネタ:文字の情報を調べるためのブックマークレット - IT戦記 サロゲートペアには非対応です>< 文字の情報を調べるためのブックマークレット - IT戦記 おや、これでは音楽記号も算籌も麻雀牌もドミノ牌も線文字Bもヒエログリフも楔形文字もフェニキア文字もチュノムも則天文字も調べられない!! サロゲートペアとは何ぞ サロゲートペア入門:CodeZine(コードジン) UTF-16を使うJavaScriptでは扱いが難しくなるから、文字単位で処理しようとする時につまずく。Unicodeには他にも《結合文字の並び》という落とし穴があるけどね。 ブックマークレット サロゲートペア対応版 javascript:location.href = 'http://www.fileformat.info/info/unicode/char/' + (function(r){ var
ウェブで見かけた文字が、やたら気になることがあるので 作ってみました javascript:location.href = 'http://www.fileformat.info/info/unicode/char/' + (function(r){ var n = r.startContainer; var p = r.startOffset; return (n.nodeType == 3) ? n.nodeValue.charAt(p) : n.childNodes[p].textContent.charAt(0); })(getSelection().getRangeAt(0)).charCodeAt(0).toString(16) + '/index.htm'; void(0); 使い方は簡単 気になる文字を選択してブックマークレットを実行するだけ! 対応ブラウザ HTML5 t
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く