JQueryをインポートする Greasemonkey-for-IE スクリプトがIE9にあります。しかし、安全なページでは機能しません。
私は得ています:
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で問題を引き起こしません。
おそらく:代わりに https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js を使用してください(またはサードパーティのCDNを信頼しないでください(信頼できることと、妥協しないでください)あなたの安全なページのために)
次のようなスキーマ相対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://
ページ...問題を解決するはるかに簡単な方法。
エラーメッセージは、混合コンテンツ(セキュアページ上のHTTPおよびHTTPSリソース)に関するIEの新しい警告方法です。 こちら は関連するMSDNブログの投稿です。
使用する
https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.js
問題は、セキュアモード(HTTPSなど)の場合、ページによって読み込まれるすべてのファイルもHTTPSである必要があることです。ここで作成するJQueryインクルードはHTTPです。
ページがHTTPモードであるかHTTPSモードであるかを検出し(window.location.protocol()
を使用)、それに合わせてJQueryインクルードのURLを調整する必要があります。 (必要なのは、「http」の後に追加された「s」だけです)
https接続を使用していて、http接続にアクセスしたい。