概要
- HTMLには時代や環境に応じて多数の「一時的」な記述が存在
- ブラウザ競争やサードパーティ連携、独自仕様への対応策として生まれたタグやスニペット
- 役割を終えたタグは現代ではほぼ使われず、過去サイトや一部開発者の記憶にのみ残存
- 各種metaタグや条件付きコメント、独自属性などが主要な例
- 本記事ではこれら「忘れ去られたHTMLスニペット」の代表例と背景を解説
時代に翻弄されたHTMLスニペット
- デバイス、ブラウザ、OS、フォームファクター、仕様、個人の好み、ツール、企業の思惑による変化
- HTMLも絶えず進化・適応を強いられる状況
- 仕様変更だけでなく「環境要因」での変化も多数
- サードパーティ連携、ブラウザ競争、ベンダー拡張、プラットフォーム固有ハックへの対応
- 一時的な必要性で追加され、現在は無意味になった記述の蓄積
X-UA-Compatible系metaタグ
<meta http-equiv="X-UA-Compatible" content="IE=edge">IEのドキュメントモード を指定、 最新バージョン でのレンダリングを促すcontent属性は edge 以外に 5~11 や EmulateIE7~EmulateIE11 も指定可能<meta http-equiv="X-UA-Compatible" content="chrome=1">Google Chrome Frame (IE用プラグイン)による WebKitエンジン 利用指定<meta http-equiv="X-UA-Compatible" content="requiresActiveX=true">IE10のMetroモード で ActiveX 利用時に デスクトップモード切替 を促す
ICBM座標metaタグ
<meta name="ICBM" content="-31.9548, 115.8602">地理的座標 を示すハッカースラング由来のmetaタグ- GeoURL 等のサービスで 地理情報の可視化 や 近隣サイト検索 に利用
ブラウザ条件付きコメント
<!--[if gte IE 6]> ... <![endif]-->IE専用 の条件付きコメント、バージョンや条件演算子を細かく指定可能IE(バージョン指定可能)、lt(未満)、lte(以下)、gt(超)、gte(以上)、!(NOT)、&(AND)、|(OR)、()(サブ式)、true、false
<!--&{navigator.appName == 'Netscape'}; ... -->Netscape 独自の条件付きコメント、JavaScript式で判定
MSSmartTagsPreventParsing
<meta name="MSSmartTagsPreventParsing" content="TRUE">IE6のSmart Tags (自動リンク挿入)機能を 無効化 するためのタグ- サイト運営者の反発で導入、後に機能自体が廃止
PICSラベル
<meta http-equiv="PICS-Label" content='...'>W3CのPICS規格 による インターネットコンテンツのラベル付け- 主に フィルタリング製品 ・IE3以降で利用
- 虚偽申告や未対応 が多く、 2003年頃には廃止
ページ遷移エフェクト
<meta http-equiv="Page-Enter" content="revealTrans(...)">IE4~8 で動作する ページ遷移アニメーション- PowerPoint等のスライド遷移風エフェクトを実現
- 現代は View Transition API で類似機能を実装可能
フレームバスター
<meta http-equiv="Window-target" content="_top">フレーム内表示阻止 のための非標準metaタグ- Netscape Navigator発祥、IEや他ブラウザにも波及
- 現代は セキュリティヘッダー で対策
Baiduページトランスコーディング対策
<meta name="applicable-device" content="pc,mobile">Baidu Browser の モバイルページ改変 (トランスコーディング)を回避するためのタグ<meta http-equiv="Cache-Control" content="no-siteapp,no-transform">サイト改変禁止 を明示
Skype Toolbar対策
<meta name="skype_toolbar" content="skype_toolbar_parser_compatible">Skype Toolbar による 電話番号自動変換アイコン挿入 を無効化- Firefoxでは 不安定 で、Mozillaが明示的にブロック
Image Toolbar対策
<meta http-equiv="imagetoolbar" content="no">IE6の画像ツールバー (画像上に保存・共有ボタン等)を 非表示 に
ClearType指定
<meta http-equiv="cleartype" content="on">Microsoft ClearType による フォント表示最適化 を低解像度端末向けに有効化
AJAXクロール対策
<meta name="fragment" content="!">Googleクローラー が JavaScript非対応時代 に AJAXコンテンツのインデックス化 を促進_escaped_fragment_クエリでHTML返却を指示、2015年に非推奨化
ディレクトリメタデータ制御
<meta name="robots" content="noodp, noydir">Yahoo Directory や DMoz 等の 外部ディレクトリ情報の無効化- 両ディレクトリのサービス終了により意味を失う
Web App Name指定
<meta name="application-name" content="App Title">PWA普及前のWebアプリ名指定- 未指定時は
<title>を利用
Internet Explorerピン留めサイト用metaタグ
<meta name="msapplication-tooltip" content="...">タスクバーにピン留め時のツールチップ<meta name="msapplication-starturl" content="./">ピン留めサイトのルートURL指定<meta name="msapplication-window" content="width=1024;height=768">初期ウィンドウサイズ指定 (最小800x600)<meta name="msapplication-navbutton-color" content="#FF3300">ナビゲーションボタン色指定<meta name="msapplication-task" content="name=Blog;action-uri=/blog;icon-uri=/favicon.ico">クイックアクション定義 (右クリックメニュー)
Microsoft Web Apps関連metaタグ
<meta name="msapplication-TileColor" content="#FF3300">タイルUIのテーマ色指定<meta name="msapplication-TileImage" content="/mstile-144x144.png">タイル用アイコン画像指定<meta name="msapplication-square70x70logo" ...>各種タイルサイズのロゴ指定<meta name="msapplication-config" content="/browserconfig.xml">Windows用ブラウザ設定ファイル指定<meta name="msapplication-badge" value="frequency=360;polling-uri=...">バッジ更新用APIエンドポイント指定
これらのHTMLスニペットは、 時代ごとの課題や競争、 仕様の未熟さ、 外部要因 への 一時的な解決策 として生まれたもの。現代ではその多くが 歴史的遺物 となり、 新たな標準やAPI に置き換えられている。