私は、Webアプリケーションを利用していますfancyboxは、Webサーバーがhttpプロトコル上で実行するように設定されているときにうまく動作していますが、https protocalでアプリケーションを実行すると、fancyboxは何もロードしていません。この問題の助けが役に立つでしょう
回答:
回答№1は1これは、HTTPS環境でfancyboxを使用する際に考慮する必要があります。
1)。イメージ
イメージは、HTTP / HTTPS環境が混在する環境で使用できるため、セキュリティで保護された(HTTPS)ページから保護されていない(HTTP)サイトでホストされているイメージを絶対パス経由で呼び出すことができます。
<a class="fancybox" href="http://unsecured.com/images/image01.jpg">open image</a>
注意 :このシナリオではコンソールで警告が表示されます。
相対パスを使用している場合は、 HTTPS
画像のURLに追加され、何もする必要はありません。
2)。アクティブなコンテンツ
アクティブなコンテンツ(iframe / ajax)は、混在したHTTP / HTTPS環境では使用できないため、 できない セキュアなHTTPSサーバーからHTTPページを呼び出します。
また、AJAX呼び出しは同じ発信元ポリシーの対象であり、ajaxedページは同じドメインでホストされていても、HTTPSページから呼び出すことができます
<a class="fancybox fancybox.ajax" href="http://myserver.com/ajaxpage.html">open ajax page, unsecured connection</a>
...仕事はできませんでした。
<a class="fancybox fancybox.ajax" href="https://myserver.com/ajaxpage.html">open ajax page, secured connection</a>
... しましょう。
3)。別のドメインのiframeを開く
問題のページがセキュリティ保護された可能性を提供しない限り、別のドメインからiframeを開くことはできません HTTPS
接続。外部サーバー/ページがサポートしていない場合は、URLにHTTPSを追加するだけでは不十分です HTTPS
.
必要とする多くのサイト HTTPS
接続が送信されている可能性もあります X-Frame-Options : SAMEORIGIN
セキュリティで保護されたページやセキュリティで保護されていないページから開くことができない場合があります。
回避策
に基づく このStackOverflowの答え、我々は使用することができます SSLプロキシとしてのGoogle 安全なページから保護されていないページを開くための回避策があります 折り返し電話 ファンシーボックスの初期化コード:
beforeLoad : function () {
if (this.type == "iframe") {
this.href = "https://www.google.com/search?q=%" + this.href + "&btnI=Im+Feeling+Lucky";
}
}
を参照してください デモ
*保護されたサーバーであるため警告が表示されることがあります