2009-04-22 9 views
1

IE8の httpsプロトコルを使用するページで.jsファイルをインポートする必要がある場合は、.jsファイルもhttpsプロトコルを使用する必要があります。すべてのブラウザIE8でhttp URLを使用してhttpsページでjsファイルをインポートする

でIE8

<script type="text/javascript" src="https://xxx/yourjs.js"></script> 

作品を除き、すべてのブラウザで

<script type="text/javascript" src="http://xxx/yourjs.js"></script> 

作品は、私はいくつかの.jsファイルをインポートし、ユーザーコントロールを使用しています。つまり、あるページがhttpsプロトコルを使用する場合、インポートされたすべての.jsファイルがhttpsプロトコルを使用するようにusercontrolを変更する必要があります。

どのようにこの問題を解決しますか?
このIE8の動作について、どのようにコメントしますか?私は、IE8は同じことを行うことを期待したいが、多分それは黙ってそれを無視する新しい「機能」だ - HTTPS

<script type="text/javascript" src="http://xxx/yourjs.js"></script> 

でこれを使用して

答えて

3

は、すべてのブラウザでユーザーに警告を投げる必要があります。

リクエストと同じプロトコルを使用するか、常にHTTPSに失敗する必要があります(ただし、これはユーザーの処理速度が遅くなり、サーバーに負荷がかかります)。

あなたはスキームなしのURLを指定することができる - 現在の(HTTPまたはHTTPS)を使用する必要があります。これが有効であると言って参照が見つかりました::

<script type="text/javascript" src="//xxx/yourjs.js"></script> 

編集をRFC 2396

relativeURI = (net_path | abs_path | rel_path) [ "?" query ] 

で始まる2つのスラッシュ文字で始まる相対参照は、で定義された
ネットワークパス参照と呼ばれます第3節の。このような
の参照はめったに使用されません。

+0

"/xxx/yourjs.js"をsrc属性として使用することは間違いありません。 –

+0

@Benediktあなたのjsファイルがあなたのページと同じドメインにある場合、これは間違いなく最適なオプションです。 – Greg

+0

あなたの答えは私の問題を解決しました!!ありがとうございます – dkris

0

これは、複合コンテンツのセキュリティ設定の使用とは関係ありませんか?

ブラウザの設定を確認して、実行中のゾーンがどのように設定されているかを確認することをお勧めします。

正直言っても、私は一貫性のあるウェブサイトが好きなので、javascriptファイルをhttpsで取得したいと思います。

1

これは正しい動作です。保護されていないリソースを保護されたページの一部にすることは望ましくありません。 IEの以前のバージョンでは警告が表示されましたが、その意味があまりにも多くの人が「先を行く」と言っていたというのが私の思うところです。エラーは現在無音です。あなたのセキュリティ設定を調整することはできますが、それはあなたのブラウザを修正するだけです(私が述べたように、それは良い考えではありません)。

ページリソースが安全なページにすべて保護されていることを確認してください。 (画像、iframeソース、スクリプト...たくさん!)

関連する問題