クロスドメインiframeサイズ変更
別のドメインのiframeのサイズを変更するにはどうすればよいですか -編集 いくつかの解決策については下にスクロールしてください..またはこれを行わない方法を読んでください:D 何時間にもわたるコードハッキングの後、結論として、私のドメインでレンダリングされるスクロールバーでさえ、iframe内のすべてにアクセスできなくなりました。私は無駄に多くのテクニックを試しました。 時間を節約するために、このルートをたどらないでください。クロスドメイン通信にはsendMessagesを使用してください。 私が使用しているHTML <5のプラグインがあります-良い例については一番下に移動してください:) 過去数日間、私はiframeをサイトに統合しようとしています。これは、反対側が開発してAPIを開発している間の短期的な解決策です(数か月かかる可能性があります...)そして、これは短期的な解決策であるため、easyXDMを使用したいと思います-私は他のドメインにアクセスできますが、 p3pヘッダーをそのまま追加..... 3つのiframe 私が見つけた最も近い解決策は3つのiframeでしたが、それはクロムとサファリの精神に影響するため、それを使用することはできません。 クロームで開く http://css-tricks.com/examples/iFrameResize/crossdomain.php#frameId=frame-one&height=1179 スクロールバーを測定する scrollheightを使用してフォームのサイズを変更する方法に関する別の投稿を見つけました。理論的にはうまく機能しますが、iframeのスクロールの高さを使用して適切に適用できませんでした。 document.body.scrollHeight それは明らかに体の高さを使用します(これらのプロパティに100%アクセスすることはできません100%はクライアントの表示canvazに基づいており、xドメインのドキュメントの高さではありません) jqueryを使用してiframeの高さを取得してみました $('#frameId').Height() $('#frameId').clientHeight $('#frameId').scrollHeight クロムとは異なる戻り値、つまり-またはまったく意味がありません。問題は、フレーム内のすべてが拒否されることです-スクロールバーも... 計算されたスタイル しかし、iframeのクロムを調べて要素を表示すると、iframe内のドキュメントの寸法が表示されます(jquery x-domainを使用してiframe.heighを取得します-アクセスが拒否されました)計算されたCSSには何もありません さて、クロムはそれをどのように計算しますか?(edit-browserは、組み込みのレンダリングエンジンを使用してページを再レンダリングし、これらすべての設定を計算しますが、クロスドメイン詐欺を防ぐためにどこにも添付されていません。 HTML4 HTML4.xの仕様を読みましたが、document.elementを介して読み取り専用の値を公開する必要があると書かれていますが、jqueryを介してアクセスが拒否されています プロキシフレーム ユーザーがiframeを介してログインし、プロキシが実際のコンテンツではなくログインページを取得するまで、サイトをプロキシして、どちらが問題ないかを計算するというルートをたどりました。また、ページを2回呼び出すことは受け入れられない人もいます http://www.codeproject.com/KB/aspnet/asproxy.aspx http://www.johnchapman.name/aspnet-proxy-page-cross-domain-requests-from-ajax-and-javascript/ ページを再レンダリングする ここまでは行きませんでしたが、ソースを調べてソースファイルに基づいてページを再レンダリングするjscriptエンジンがあります。しかし、それらのjscriptをハッキングする必要があります..そしてそれは営利団体にとって理想的な状況ではありません...そしていくつかは純粋なJavaアプレットまたはサーバーサイドレンダリングを含みます http://en.wikipedia.org/wiki/Server-side_JavaScript http://htmlunit.sourceforge.net/ <-java not jscript http://maxq.tigris.org/ 2013年9月の更新を編集 これはすべて、HTML5ソケットで実行できます。しかし、easyXDMは、HTML5以外の苦情ページの優れたフォールバックです。 解決策1非常に優れた解決策! easyXDMの使用 サーバー上で、次の形式のページを設定します。 <html> <head> <script src="scripts/easyXDM.js" type="text/javascript"></script> …