次のコードは、このメソッドがどのように動作するかを示すためのものであり、実際の意味はほとんどありません。
実際、この方法はクロスドメイン操作の多くの側面も解決できます。次の 2 つの点は、私が仕事で遭遇した状況です。
例えば、システムAでシステムBのページを開いたとき、システムBのページの高さを取得し、システムAでウィンドウの高さを動的に設定することができます
また、システムBのページを開いたときも同様です。システム A では、システム B のページが一連の操作を実行します。操作が成功したら、システム A のウィンドウを閉じる必要があります。操作が成功したら、システム A のblank.html ページをシステム B に埋め込むことができます。 .blank.html ページを開くと、システム A のウィンドウが動的に閉じられます。
このメソッドの実装方法を説明します
1. システム A にblank.html という名前の空のページを追加します。JS コードを追加するだけなので、コンテンツは必要ないことに注意してください。
2. 次に、システム A のホーム/インデックス ページに ifrme パスを埋め込み、システム B のホーム/インデックス ページをポイントし、カスタム パラメーターの URL を追加します。システム A を追加しました。次の操作を容易にするために、iframe に name 属性と id 属性を忘れずに追加してください。
3. ここで、システム B の HomeController コントローラーの下の Index アクションがリクエストされ、渡された URL パラメーターが受信され、ページがロードされると ViewBag.BlankUrl=url を通じてページが返されます。 、ページの高さが動的に取得されます。次に、name=iframeBlank の iframe 要素をページの div 要素に再度追加し、アドレスをシステム A の空白ページである ViewBag.BlankUrl に指定して渡します。 「#」文字で区切るのに必要なパラメータです。記号はカスタマイズ可能です。
4. システム A が Iframe を通じてシステム B の Home/Index ページを埋め込むと、システム B もシステム A のblank.html ページと、システム B から返されたデータを iframe の特殊な属性により埋め込みます。次の方法で返されたデータを取得します。 var data= window.parent.parent.frames["myframe"].frames["iframeBlank"].location.hash