NinjaKit ver0.7
Safari5.0.1に更新したらスクリプトをインストールできなくなっていた(拡張のパスが微妙に変わっていた)ので修正しました。
あと、ついでなのでGM_listValues、GM_deleteValueに対応しつつ、Safari版とChrome版を完全にマージしてバージョンも揃えました。
他にも直さないといけないところは色々ありますが、追々ということで…。(他の拡張も色々溜まってる…、そういえばSafariのギャラリーにも登録してなかった。)
NinjaKit - 0xFF
SVG特集最終回
特集:スタートアップ SVG|gihyo.jp … 技術評論社の最終回が公開されました。
なるべく実用的で且つ面白そうなネタを考えていたんですが、結局無難なグラフにしました。
SVGの場合大きく描画しても重くないので、その辺は活かせるように拡大モードを追加してみたり。
今回の記事の前半ちょろっと書いたtext/htmlなページへのSVGの取り込みはhttp://ss-o.net/test/svg/svg_load.htmlにcreateLSParserとかdocument.loadとかのパターンも含めたサンプルを置きました。
ついでなの少し紹介すると、OperaはcreateLSParserをサポートしているので、こんな感じで動きます。あ、createLSParserというのはDOM Level 3 Load and Saveで定義されているAPIです。
var parser = document.implementation.createLSParser(DOMImplementationLS.MODE_SYNCHRONOUS, null); var svgdom = parser.parseURI(src); root.appendChild(document.adoptNode(svgdom.documentElement));
ただ、Web Technologies for Opera Web Applications - Dev.Operaの方法ではなぜか動かない…。まあ、深く突っ込まないことにします。
var parser = document.implementation.createLSParser(DOMImplementationLS.MODE_ASYNCHRONOUS, null); parser.onload = function(evt){//Operaでも動かない… var svgdom = evt.newDocument; root.appendChild(document.adoptNode(svgdom.documentElement)); }; parser.parseURI(src);
ついでに、OperaとFirefoxがサポートするdocument.loadだとこんな感じに。
var xmldom = document.implementation.createDocument('', 'svg', null); xmldom.onload = function(){ root.appendChild(document.adoptNode(xmldom.documentElement)); }; xmldom.load(src);
document.loadはChromeもサポートする気はありそうだし、ちょうど(b:id:vantguardeより)Reluctantly define document.loadが。
まあ、XMLHttpRequestで良いような気もしますが。
IE9pp3さんはinnerHTMLに突っ込むくらいしかsvgを取り込む方法を見つけられませんでした。まあ、ある意味将来的には標準になると思われるんですが…。まあ、まだベータでもないので今後に期待しています。
と思ってたら、IE9beta(pp5)でDOMParserとXMLSerializerがサポートされていました。
オレ標準JavaScript勉強会を開催しました
Twitterでこっそりと募集して、オレ標準JavaScript勉強会というイベントを開催しました。
id:edvakfさんが来日されるということで、「会いましょう→何かやりましょう→勉強会とかどうでしょう」というTwitter上の軽いノリで企画され、みんなで短いネタを披露し合う一品持ち寄りの少人数勉強会をやってみよう、ということになりました。で、そのままTwitter上で参加者を呼びかけてみたところ、半日もたたずに15名集まって、しかもそうそうたる顔ぶれに!
当日
色々と反省があったので、少し書き出しておきます。
まず、会場*1には有線LANしかないので、自前のルータで無線LANをやろうとしたんですが、設定がなかなかうまくいかず、だいぶ手間取ってしまいました。やはり、安物のLANは駄目ですね…。大人数で繋ぐと安定しないし、有線をいっぱい用意したほうが良かったです。
で、Ustreamに挑戦してみたんですが、音声がちゃんと出てませんでした。しかも、ハッシュタグを設定しないと自分のユーザー名になってしまうらしく、#orejsと#os0xの2つが使われてしまうことに。さらに、前述の無線LANに手間取ってた都合でその辺の状況を把握するのが遅れてしまいました*2。
というわけで、なんかもう色々とごめんなさい。録画はありますが、前半1時間は音声が切れてしまっています(あと録画の限界で最後も切れてました)。
発表について
資料などは適宜追記していきます。
- @nori0428
- 資料:Codec, Container and Transport
- HTML5のVideoのコーデック問題・ストリーミング問題について
- WebSocketとCanvasを使ったストリーミングデモも。
- @ku
- 自己紹介+質問など
- @piro_or
- Latest topics > JavaScriptのスタックトレース - outsider reflex
- JavaScriptのStackTraceについて。
- @vant
- 自己紹介+最近のブックマークから
- @Constellation
- Eval ContextとかInteractive JS Shellとかもろもろ - 枕を欹てて聴く
- インタラクティブなJavaScript Shellを実装。(個人的に、今回最もハイレベルだったと思う)
- @edvakf
- オレ標準 JavaScript 勉強会に行ってきました - by edvakf in hatena
- OperaのUserJSについて、Storageイベントを使ってアレコレなど。関連:AutoPatchWork for Opera - FFFF - 0x
- @taku_eof
- formのaccept-charset(のIEのバグ)について
- フルページズーム(のWebkitのアレな挙動)について
- @hotchpotch
- スマートフォンのブラウザの実情
- @takesako
- ISO/IEC DIS 16262 FAST-TRACK PROCEDURE voting - JTC1/SC22 最新報告
- ECMA-262とJISについて
- @hasegawayosuke
- Shibuya.xss beyond JSON
- UTF-7を悪用したJSONハイジャックなど
- @stillpedant
- オレ標準 JavaScript 勉強会で def.js について発表してきました - mooz deceives you
- def.js(Rubyに似た記法でクラス定義と継承を実現するライブラリ)の紹介と仕組みの解説
- @hokaccha
- @Kuruma
- @teramako
- Vimperatorで外部エディタ編集
- @ockeghem
- @kotarok
- SassすごいよSass
- CSSに継承などの概念を!
- @os0x
- ウェブとアニメーション - オレ標準JavaScript勉強会
- 折角詳しい方が集まっているので、疑問形にしてご意見を求めてみました。
- やっぱり、SMILは古い規格になっちゃったし、今から普及するかは疑問
- これからはCSS3 TransitionsとAnimations?(この2つは統合しようという話も)
- でも、CSS3で書くとJavaScriptからすごく扱い難いという問題も
懇親会とか
みなさん色々ネタをお持ちで、かなり盛り上がりました。ネタの1つ→ javascript:function::['alert'](1) は何故動く? - Togetter(わかる人がいなかったので、JavaScriptに詳しい人はいなかったという結論に)。あと、id:Constellation先生が持ちネタ(?)を披露して大活躍でした。
最後に
どうなるのか色々と不安でしたが、なんとか上手くいって良かったです。いや、拙い幹事で恐縮(かなりedvakfさんに振ってましたし)だったんですが…。
こういう短い発表だと一人当たりの負担が小さいので、割と気軽にできるかなという感触はありました。飲み会での裏話など、お楽しみな要素も一杯あるので今回の反省と良かったところを踏まえて、次(あるのか?)はもう少し上手くやりたいと思います(特にUstは)。
最後に、会場の準備やら片づけやらを色々と手伝ってくれたALBERTのお三方、本当にありがとうございました。
SVG特集第2回・第3回
特集:スタートアップ SVG|gihyo.jp … 技術評論社の第2回と第3回が公開されています(第2回は1週間前ですが)。
ここまででIE9pp3やRaphaëlがサポートしている機能は一通り紹介しました。
次回で最終回なので、具体的な利用ケースとか、チップスとかを詰め込んでみようと思っています。
JavaScript連載第10回
これでできる! クロスブラウザJavaScript入門の第10回はJavaScriptとCSSです。
styleプロパティの操作に関するアレコレから、動的なルール操作やスタイルシート自体の追加方法など、JavaScriptからスタイルシートを扱う際のチップスを一通り詰め込んでみました。2回に分けるほどではなく、1回としてはやや大盛り気味になりました。
ベンダー接頭辞にも軽く触れていますが、ベンダー接頭辞は使ってもよいか | Web標準Blog | ミツエーリンクスというタイムリーな記事も出ているのであわせてどうぞ。個人的な意見を一言で書くと「ベンダー接頭辞は仕様が確定するまでの間に仕方なく試用する」です。そういえば、本の虫: QuirksBlog: CSSベンダープレフィクスは邪悪だもオススメです。
それにしても、DOM Level 2 StyleとIE実装のStyleを比べるとDOM Level 2 Styleのイマイチさが際立ちますね。createCSSStyleSheetとか…。
ブラウザー勉強会でWebKitの拡張について話してきました
ブラウザー勉強会というのは、hebikuzureさん主催のウェブブラウザについての勉強会です。「ウェブブラウザについて」と一口にいっても割と範囲が広くて、特に今日の参加者を見ても、ウェブブラウザを実装してる人から、拡張を作ってる人、ウェブサイトを作っている人、企業の社内インフラ管理をしている人、そしてウェブブラウザの利用者とかとか、多種多様なんですよね。そういった色んな立場のウェブブラウザに強い関心のある方が集まった面白い勉強会でした。
で、WebKitの拡張(WebKitの拡張というのは微妙な表現なんだけど、Chromeの拡張とSafariの拡張といちいち書くのも面倒なので…。他に良い名称があれば教えてください…。)についてお話してきたんですが、折角のウェブブラウザ勉強会のなのでWebKitの裏話的なものを取り上げてみました*1。
というわけで、発表資料です。
WebKit拡張教室 at ブラウザー勉強会
例によってHTML Slideをベースに、gimiteさんとpaqさんによるタッチ対応のForkを取り入れて少し改良を加えたものになっています。あとでjsdo.itにフィードバックしようと思います。
そういえば、「CSSのベンダープリフィクスについて、WebKitは-webkitが知られていますが、実は-khtmlもしくは-appleと書いても(今は)OKだったり」というネタはあんまり知られてなさそうなので取り上げてみたんですが、やっぱり全然知られてないみたいです。Safari2以前は-khtmlが普通だったみたいです。
-khtmlは本の虫: QuirksBlog: HTML5のドラッグ&ドロップはクソだで衝撃を受けて、この前のW3C Widgetsのイベントのときに-apple-dashboard-regionをOperaがサポートしているのにも衝撃を受け、そこでふと-khtmlもプリフィクスなんだーと気が付きました。まあ、今となってはプリフィクスじゃなかったらなんなんだという感じなんですが…。
ちなみに、JavaScriptからも各プリフィクスに対応しています。
document.body.style.KhtmlOpacity=.4 document.body.style.opacity // '0.4' document.body.style.KhtmlOpacity === document.body.style.opacity // true
あ、資料にも書きましたが-khtml、-appleのサポートは切られる予定なので、今後は(今までも使ってる人はそうそういないと思うけど)使わないように注意しましょう。
SVGの特集記事
gihyo.jpにて、SVGについての全4回の集中連載を始めました。
特集:スタートアップ SVG|gihyo.jp … 技術評論社
第1回はSVGの基礎知識について。最初なのであまりSVG自体は出てこないですが、そもそもSVGってどうやって扱えばいいのかって話をメインに書きました。
SVGについて勉強初めてから日は浅いのですが、入門的な紹介(特にJavaScriptと絡む部分について)があまり見当たらなかったので自分で書いてみることにしました。
ややネタばらしにはなりますが、参考にしているのはAn SVG Primer for Today's Browsersとid:polynityさんの(PDF)SVG実習マニュアルがメインです。
他には
- Pike's SVG Tutorial
- 良くまとまってる。どうでもいいけど、作者は日本に留学中(ただ4,5年前の話なので今は違うと思われる)のカナダ人(のオタク)らしい。
-
- ところどころ情報が古くなっているみたいなので注意
- 新宿プログラマーズカフェナイト : SVG ネタで LT に参加しました | ヨモツネット
- yomotsuさんのLT資料
などなど。
にしても、An SVG Primer for Today's Browsersのサンプルはシュールですね。