16

jQuery をインポートする IE9のGreasemonkey-for-IEスクリプトがあります。ただし、安全なページでは機能しません。

私は得ています:

SEC7111: HTTPS security is compromised by http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js

失敗するコードは次のとおりです。

var script = document.createElement("script");
script.setAttribute("src", 
    "http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js");

どうすればこれを機能させることができますか?このスクリプトは、Firefox では問題を引き起こしません。

4

5 に答える 5

38

次のようなスキーム相対 URL を使用して、より単純なコードで問題を解消できます。

var script = document.createElement("script");
script.setAttribute("src", 
   "//ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js");

これはhttp://http://ページとページで使用さhttps://https://ます...問題を解決するためのはるかに簡単な方法です。

于 2010-10-11T11:48:10.860 に答える
17

おそらく:代わりにhttps://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.jsを使用します(または、サード パーティの CDN を信頼しないでください (信頼でき、侵害されないようにするため))。 )

于 2010-10-11T11:43:55.633 に答える
5

エラー メッセージは、混合コンテンツ (安全なページ上の HTTP および HTTPS リソース) に関する IE の新しい警告方法です。関連する MSDN ブログ投稿を次に示します。

使用する

https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.js

Libraries APIの概要に公式の参照はありませんが、同様に機能しているようです。

于 2010-10-11T11:45:45.580 に答える
2

問題は、セキュア モード (つまり HTTPS) の場合、ページによって読み込まれるすべてのファイルも HTTPS でなければならないことです。ここで作成する JQuery インクルードは HTTP です。

ページが HTTP モードか HTTPS モードかを検出し ( を使用window.location.protocol())、それに合わせて JQuery インクルードの URL を調整する必要があります。(必要なのは、「http」の後に「s」を追加することだけです)

于 2010-10-11T11:48:26.210 に答える
0

https 接続を使用していて、http 接続にアクセスしたい。

于 2010-10-11T11:44:38.487 に答える