web-dev-qa-db-ja.com

Googleでiframeを使用してJQueryを含むWebページを表示する方法Chrome

イントラネットのWebサイトがあります。これを https://www.myintranetsite.com と呼びます。ソースコードにアクセスできないことに注意してください。

IFrameの別のWebページで使用したいので、次のような非常に基本的なHTMLページを作成しています。

<html><body>
    <div>
        <iframe id="myIframe" width="100%" height="1200px" src="https://www.myintranetsite.com/"></iframe>
    </div>
</body></html>

Microsoft EdgeでHTMLページを開くと機能しますが、Google Chromeが機能せず、以下のエラーが表示されます。

enter image description here

ブラウザでF12を実行すると、コンソールに表示されるエラーメッセージは次のとおりです。

Uncaught ReferenceError:$はログイン時に定義されていませんか?isajax = true:19

私が理解しているように、JQueryはmyintranetsite.comで使用されており、Chromeが何らかの理由でロードしない、おそらくセキュリティ関連...Chromeのバージョン: 81.0.4044.122(64ビット)

この問題を解決するにはどうすればよいですか?私はそれらを試しましたが、助けはありません:

  • キャッシュをクリアします
  • インターネットオプションの信頼済みサイトにmyintranetsiteを追加
  • SSLステージのクリア
  • ChromeでCookieを無効にする

私はこれをチェックしましたが、どちらも助けにはなりませんでした: jQuery/iframeがChromeで機能していません

任意の助けやアドバイスをいただければ幸いです。

7
Eray Balkanli

最も可能性の高い原因は、何らかの理由でHTTPとHTTPSが混在していることです。 Chrome本当にこれは好きではありません。親ページとiframe内のページの両方が同じプロトコルを使用していることを確認してください

0
David Bradshaw

クリックジャッキングの防止策として、iFrameが無効になる場合があります。

イントラネットサイトをフレーム化するには、以下の緩和策をすべて無効にする必要があります。

  • コンテンツセキュリティポリシー(CSP)のフレーム祖先ディレクティブ
  • X-Frame-Options応答ヘッダー
  • 従来のブラウザのフレーム分割スクリプト

これらのクリックジャッキングの軽減策とそれらの保護を有効/無効にする方法の詳細については、こちらをご覧ください here

また、サイトでセッションCookieが必要な場合、エンドユーザーはサードパーティのCookieが有効になっていることを確認する必要があります。 (たとえば、Safariではデフォルトでオフになっています)。

0
Jesse de gans