web-dev-qa-db-ja.com

ダブルスラッシュで始まるURLのブラウザサポート

私は最近、プロトコルなしで使用されるいくつかのリンクを見ました。理解するのはそれほど難しくないようでした-それは素晴らしいアイデアであり、かなり直感的だと思います。

知らない人のために、//example.com/script.jshttp://example.com/script.jsまたはhttps://example.com/script.js URLの発信元がhttphttpsURL。たとえば、httpsページからhttpスクリプトまたは画像を含めることはセキュリティ上の問題になる可能性があるため、コードでプロトコルを検出する必要なく、これを解決します。

私の質問は、それに対してどんな種類のブラウザ/ OSサポートがありますか?本番環境で使用しても安全ですか?それは確かに物事を少し簡単にするでしょう。

簡単な例とテスト: http://codetester.org/916c6916

編集:数年前から問題なく多くのことのために本番環境で私の会社の広告サーバーにこれを使用しているというフォローアップです。

102
dtbarne

この動作は、約16年前の RFC 1808 (セクション4)の一部であったため、すべての主要なブラウザーがこれをサポートする(およびサポートする)必要があります。

悲しいことに、プロトコル関連URLがlinkまたは@importで使用される場合、リソースを2回ダウンロードする IE7および-8のバグ があります。大きな問題ではありませんが、ugいので注意してください。

84
oezi

ローカルマシンで開発している場合、src="file://Host.com/filename".で失敗する可能性があります

この状況では、スキームを明示的に指定する必要があります:http://Host.com/filenameまたはhttps://Host.com/filename

2