Skip to main content

Module url_resolve

Module url_resolve 

Source

Functions§

resolve_url
base_url(絶対URL、例: https://cdnjs.cloudflare.com/.../css/all.min.css)を 基点として、CSS内の相対URL参照(../webfonts/x.woff2 等)を絶対URLへ解決する。 外部CSSファイル自身の場所を基準にする必要がある(HTMLドキュメント自身の ホストとは異なることが多い。例: cdnjs.cloudflare.com上のCSSが参照する webfontはcdnjs.cloudflare.com上の相対パス)。
rewrite_css_urls
外部CSSテキスト中の url(...) 参照を、そのCSSファイル自身の絶対URL (css_base_url)を基準に絶対URLへ書き換える。@font-face { src: url(...) }background-image: url(...) 等、CSS内の相対パスは常にCSSファイル自身の 場所基準で解決されるべき(HTMLドキュメントのURLではない)という仕様に従う。
split_target
取得先の (https か, ホスト, パス) を求める。
truncate_to_balanced_css
ネットワーク切断(TLS読み取りエラー等)で外部CSSが波括弧の途中で 打ち切られた場合、そのまま後続のCSS(他の<link>分)と連結すると、 閉じられなかった{のせいでパーサーが「まだ前のルールの中にいる」と 誤認し、以降の本物のルールを大量に読み飛ばしてしまう(2026-07-25発見)。 文字列/コメントを簡易的に読み飛ばしつつ波括弧の深さを追跡し、深さが 0に戻った最後の位置(=最後まで完結した最後のトップレベルルールの 直後)までに安全側で切り詰める。既に完全にバランスしている場合は 元の文字列をそのまま返す。