5

多くのページとインデックス/ToCファイルがある小さなWebプロジェクトがあります。tocファイルは私のプロジェクトのルートにありますtoc.html。ページはいくつかのサブディレクトリにまたがっており、tocが含まれていiframeます。

プロジェクトにはWebサーバーが必要ないため、ディレクトリにHTMLを作成し、ブラウザで参照できます。toc.html問題は、JavaScriptがページ内の関数を呼び出したいときにXSSの問題が発生していることです(同一生成元ポリシーの違反)。

そこでbase、ヘッダーに、ディレクトリへの相対URLを含むタグを追加しましたtoc.html。これはKonquerorで機能しますが、Firefoxでは、絶対パスを使用する必要があります。そうしないと、tocが表示されません:(例を次に示します。

<?xml version='1.0' encoding='utf-8' ?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<base href="../" target="_top" />
<title>Project 1</title>
</head>
<body>
<iframe class="toc" frameborder="0" src="toc.html">
</iframe>
</body>
</html>

このファイルはサブディレクトリにありpageます。Firefoxはそれをロードせず、見つからないと言っていますpage/toc.html

回避策はありますか?どこでも同じになるように、エクスポートで絶対パスを避けたいと思います(ローカルで、後でWebサーバーにアップロードするとき)。

4

1 に答える 1

7

HTML4では、絶対URI<base>が必要です。ただし、HTML5は現在広くサポートされているため、HTML5タグは絶対または相対のいずれかのURLを受け入れることに注意してください。これは事実上、絶対URIの代わりに相対パスを使用できることを意味します。<base>

于 2010-05-10T02:38:34.483 に答える