それなりの期間をかけて書いてきたコードについて、Copilot に競合や隣接するものを教えて貰ったところ、React のストリーミング SSR がソレと知りました。 僕が開発している html.json は、React のような Web アプリケーション方面ではなく、Web 文書方面から出てきた軽量ストリーミング SSR (を含むプロジェクト)です。CGI 時代にできていたことは大体できると思います。 プロジェクトに付属のサンプルを、Closure Compiler でデバッグ用コードを…
今年書いた軽量な JavaScript 製 HTML パーサーの開発の動機について。 不完全な HTML を扱うパーサー HTML を JSON で表現した後に、操作したり HTML に書き戻したりするツール を書いています。 <p>Hello, world!</p> ↓ ["P", "Hello, world!"] …
html.json / src / js / common / Traverser.js では、 onReachNode ではなく onEnterNode , opt_onLeaveNode コールバックを実装しています。入りと出のコールバック関数を用意すると便利でした。(2025/1/1) JavaScript で文書ツリーを辿るコード例 再帰呼び出しは、短く書け読みやすいのです…
「JavaScriptのレガシー挙動を定めたAnnex Bをひたすら読む記事」へのリンクを追記。(2024/05/09) 「 Object.setPrototypeOf(O, proto) full/complete polyfill」へのリンクと「stackoverflow / IE8 getPrototypeOf method」の引用を追記。 dojo ではスーパークラスを辿れる仕組みを用…
$.css.hooks から $.css.patches にプロパティ名を変更。推敲と追記。(2024/04/16) クロスブラウザを切り口に、アプリケーションが使用しないコードをコンパイル時に除去する方法を示します。 やや手間が増えますが、使用しないコードは確実に除去されるので、クロスブラウザ対策をモリモリに盛り込んで、ソースコードをブラウザの(黒)歴史博物館にしちゃいましょう。 フ…
Cycle.js が同じ発想の記法を採用していました。この記事に新規性はゼロですね…(2023/09/30) 宣言的 UI を JavaScript だけで、人間に読みやすく表現するアイデアです。Vue の作者による 6KB の petite-vue を眺めていたら頭に浮かびました。実装はありません、悪しからず! はじめに これまでも JavaScript の関数呼び出しで UI …
「 アイコンの為に Web フォント、合字を深堀してフォールバックを検討する 」での調査を元に「 <font> タグの id 属性は残す」の id が必要なブラウザに iOS Safari 3~4 を追記。(2024/01/26) 「エンティティ」表記を「数値文字参照」に修正しました。追記と修正をしています。(2023/08/16) icomoon で作成した SVG フ…
Chrome には <link> を再利用する場合に、2回目以降のイベントが発生しない問題がありました 。(2024/09/19) Wii の Opera 9.30でテストして Opera の B グレードを 9~9.27 → 9~9.30 に修正しました。(2024/02/12) 現在の実装 に沿って動作の記述を変更しています。(2023/07/28) Gecko が A グレー…
はじめに このブログなどで使用するアイコンを Pure CSS アイコン からベクターアイコンへ置き換えを進めています。新しいベクターアイコンでは、Web フォントと、フォールバックとして JavaScript で SVG を挿入する二段構えとしました。 Web フォントが適用されているか? の検出に関する記事は「 Webフォントがブラウザで有効か?きっちり調べる 」を参照ください。 フォ…
関数定義 → 関数宣言(2024/04/04) 執筆時点で未解決だった、 Gecko 0.8.0以下での括弧の下の関数の問題 は es2-postprocessor 0.12.0で解決 しています。(2023/01/04 追記) この記事は、 JavaScript Advent Calendar 2022 の3日目です。2日目の記事は martinheidegger さんによる「 JavaSc…
「os0x.blog / 外部JavaScriptの動的ロード」へのリンクを追記。(2024/04/05) 「os0x.blog / Opera9.2から9.5でのJavaScript周りの変更点」へのリンクを追記。(2024/04/04) iframe からライブラリのコード文字列を親フレームに渡して、親フレームで eval 等でライブラリを有効化すれば、下で言及している「 iframe …
「これまでに確認したレガシーな DHTML ブラウザの ES3 サポートと実装のバグ」の各表のタイトルを修正。調査ミスを修正。(2022/11/24) 「これまでに確認したレガシーな DHTML ブラウザの ES3 サポートと実装のバグ」の調査ミスを修正し、調査項目を追加しました。(2022/11/20) IE5 の「ES3 で追加された構文」の誤りを修正しました。(2022/11/04) …
Google Code Prettify についての誤りを訂正しました。次のようなマークアップもサポートしています。 <pre class="prettyprint"><code class="language-js">var a = 0;</code></pre> (2022/11/05) language…