24

.jssrc="//example.com/myjavascript.js"をインクルードし、ページ URL の現在のスキームに応じてブラウザに/を使用させるために使用する多くの HTML ページを確認できます。http://https://

これは有効な URI ですか?

4

3 に答える 3

33

はい、間違いなく有効です。これは、「スキーム相対」または「プロトコル相対」URI です。最初から仕様に。http/https の問題に対処するのに非常に役立ちます。

より良い説明と警告を読んでください : <script src="http://..."> で http:// を // に置き換えることは有効ですか?

注意すべき点がいくつかあります。

  • IE 7 および 8 での二重ダウンロードに関するいくつかの軽微な問題があります。
  • ファイルから HTML ページを表示している場合、ブラウザーはスキームを に置き換え、またはfile://で始まる完全な URL のようにサーバーから JS ファイルをロードしません。http://https://

最新の webdev プラクティスの編集:

URL は引き続き有効ですが、httpsサード パーティのリソースに使用すること (およびそれらのリソースを安全なページから提供すること) をお勧めします。数年前からのパフォーマンスまたは互換性の問題は、更新されたプロトコルとブラウザーで大部分が解決されます。

于 2012-08-09T10:23:10.617 に答える
2

警告として... HTML BASE タグ内で使用すると、この方法論が Internet Explorer でサポートされないという問題が発生しました (IE8 および 9 は確認済みで、問題にパッチを適用する前に他のテストは行いませんでした)。

Web サイトに SSL を新たに実装した後、アプリケーション全体の BASE タグを単純に「//www.mydomain.com」を参照するように更新しました。サイトのルート。BASE タグは、ネストされた場所からではなく、ルートから参照されていると想定するスタイルシートやその他の相対的にリンクされたリソースを取得していないため、理にかなっています。

とにかく BASE URI は独自のドメインだったので、BASE タグの値を「https://www.mydomain.com」に設定することで問題を修正しました。クライアントが SSL モードでサイトを閲覧しているかどうかに関係なく、少なくとも現在はクロスブラウザーで動作し、常にそのコンテンツを見つけることができます。また、常に https を強制することで、コンテンツの不一致が発生しないようにします。 https を使用してページをブラウズしているときに、BASE パスを http の場所に設定することにより、プロセスでの警告。

于 2013-04-03T13:05:04.213 に答える