HTML で使える機能
TrayPage に投稿する HTML で使える機能と、作成時の注意点。
TrayPage に投稿した HTML は、共有相手のブラウザでページとして開きます。外部 API、埋め込み、フォームなどを使えるため、AI が作ったインタラクティブな HTML をそのまま共有できます。
Markdown のページは TrayPage がサーバー側で HTML に変換して表示するため、このページの内容を意識する場面は多くありません。以下は主に、AI エージェントに HTML ページを作らせる場合の説明です。
使える機能
- JavaScript / CSS — インラインのスクリプトとスタイルは動きます。
evalや WebAssembly も利用できます。 - CDN ライブラリ —
<script src="https://...">/<link href="https://...">で外部 CDN から読み込めます。Chart.js、Tailwind CSS(Play CDN)、Mermaid、D3 などを利用できます。 - 外部 API アクセス —
fetch、XHR、sendBeacon、WebSocket などで HTTPS / WSS の外部サービスに接続できます。fetchや XHR でレスポンスを読む場合は、接続先がブラウザからのアクセスを CORS ヘッダーで許可している必要があります。 - 他サービスの埋め込み —
<iframe>で動画、地図、デザインプレビュー、デモ画面などを埋め込めます。ただし、埋め込み先のサービスが iframe 表示を禁止している場合は表示できません。 - フォーム送信 — 入力欄、バリデーション、JavaScript の送信処理、HTTPS へのフォーム送信を使えます。
- フォント・画像・動画・音声 — Web フォント、HTTPS で配信される画像・動画・音声、
data:/blob:URL を利用できます。 - 描画とインタラクション — Canvas / SVG / WebGL、アニメーション、Web Worker(blob URL 経由)を利用できます。
- リンク、ポップアップ、ダウンロード — ページ内リンク、新しいタブ、
alert/confirm/prompt、<a download>や blob URL によるファイル保存を使えます。
使えない機能
以下の機能は技術的な制約により動作しません。リロード後も残したい状態は、URL、外部 API、ダウンロードファイルなどで扱ってください。
- ブラウザ内の永続保存 —
localStorage/sessionStorage/ IndexedDB / Cookie は使えません。 - オフライン化やブラウザキャッシュの制御 — Service Worker / Cache API は使えません。
AI エージェントへの指示例
TrayPage の agent skill を入れている場合、この実行環境の詳しい前提はスキルが AI エージェントに渡します。セットアップは MCP / Skill を参照してください。
一回限りの指示で HTML ページを作らせる場合は、必要な外部 API、埋め込み、フォーム送信先を使って構いません。fetch や XHR で読む API は、ブラウザからのアクセスを CORS で許可しているものを選んでください。ただし、ブラウザ内に状態を保存する仕組みは前提にしないでください。
TrayPage に投稿する HTML を 1 ファイルで作成してください。外部 API、HTTPS iframe 埋め込み、フォーム送信は使えます。API を読む場合は、ブラウザからのアクセスを CORS で許可しているエンドポイントを使ってください。
localStorage、IndexedDB、Service Worker は使えないため、リロード後も残したい状態は外部 API、URL、またはダウンロード可能なファイルで扱ってください。