現在、私のWebサイトでは、HTMLベースタグを使用して、アンカータグ内のURLを短縮しています。私のサイトのすべてのURLは1つのドメインに属します。 100%コンプライアンスのために、絶対URLを使用します。例えば:
<base href="http://www.example.com/path/to/specialpage/">
インターネットを調べて、これをどうにかして短縮でき、過去10年以内に発明されたブラウザーでまだ動作するかどうかを確認しました。私は次のようなことをしたかった:
<base href="/path/to/specialpage/">
私の質問は、上記のコードを使用した場合、Internet Explorerのような主要なブラウザーは故障するでしょうか?または、このタグを短くすると、主要なブラウザーにバグがありますか?ドメイン名を省略しながら、過去10年間に作成されたすべてのブラウザーでサイトが引き続き機能するようにします。特定のブラウザー用の特別なタグを含めることを意味する場合でも、次のようなものが必要な場合があります。
<!-- firefoxpatchID=1 -->
<base href="/path/to/specialpage/">
<!-- endfirefoxpatch -->
ここでの解決策は何ですか?ドメインを省略するだけで済ませることができ、すべてのブラウザが満足するでしょうか、または私のアイデアに対応するために特定のブラウザに特別なことをする必要がありますか?
いいえ。 hrefは絶対URIを指している必要があります 。ベース要素では相対は許可されていません。
この属性は、相対URIを解決するためのベースURIとして機能する絶対URIを指定します。
HTML5標準によると 、<base>
のhref属性を参照:
DocumentオブジェクトのドキュメントベースURLは絶対URLです