Chromeはfile://でhtmlを開くとフレーム内ページがクロスサイト扱いになる

ローカルのファイルをブラウザで直接開いている時(いわゆる、htmlファイルをダブルクリックして開いたfile://始まりのアドレスで表示される状態)だと
Chiromeは相対パスで指定したページ同士でもクロスサイト(つまりhttpからパスを書いている外部ドメインのウェブサイト)扱いになるもよう。

フレームで表示したクロスサイトは、javascriptなどでDOM操作ができないようブラウザによるセキュリティ制限がかけられているので
iframeなどでフレーム内へ表示するページと連動したコンテンツを作る場合は、必ずページは相対パスで呼び出すよう作る必要があります。

そこのところを考慮して作ったはずのページが、「iframeうつりません」と報告を受けてびっくり。

検証したところ、apacheなどサーバ内に設置している場合はこの挙動にはならないため実際の運用に支障はなさそう。
いやーよかった。

私は普段からapacheで確認できる環境を構築しているので、全く気づかなかったというオチでした。

関連記事

Pocket