1

Web サーバーの 1 つにあるスクリプトを、別のサービスでホストされているサイトにあるページにロードしようとしています。現在、iframeを使用してこれを機能させています。私が抱えている問題は、php の出力に基づいて iframe を動的に拡張できないことです。

私に提案されたのは、php出力をdivに挿入しようとすることですが、そのクロスドメインを実行できるとは思いません。

私は example.net/scripts の Web サーバーから移動し、example.us のページにロードします。これは、ホストされたサービス (つまりエンジン) であるため、アクセスが非常に制限されています。

私が必要としているのは、Web サーバーから php スクリプトを呼び出し、スクリプトからの出力に基づいて展開できる要素内のページにその出力を表示できるようにするソリューションです。php スクリプトをプルするとき、div の CSS で事前定義されている CSS パラメーター (最小高さ、最大高さ) 内に表示する必要がありますが、スクリプトで返される要素の高さでのみ表示する必要があります。

さらに明確にするために、php スクリプトを使用して、TwitchTV の API からの json 出力の foreach ループを実行しています。foreach ループが実行されると、返された結果ごとに要素構造が構築され、必要に応じて表示されます。リターンが多すぎるとiframeからオーバーフローしてしまい、リターンがない場合は文字列を返して表示するだけですが、その時点でiframeの高さが高すぎます。

誰かが私に与えることができる例や解決策の提案はありますか?

4

1 に答える 1

0

AJAXを使用できるため、解決策は、AJAXを使用して、ロックされていないサイトのコードを呼び出し、その中にあるものが入ったボックスを返すことです。ロックダウンされたサイトで、そのコードを処理してから、<div>ロックダウンされたサイトに貼り付けます。そしてもちろん、そのdivは通常のようにコンテンツに合わせて拡張できます。

何らかの理由でiframeを使用する必要がある場合は、javascriptを使用してボックスの高さを収集します(必要に応じて、ボックスを左側に非表示にすることができますleft: -9999px)。その高さ情報を使用して、iframeの高さを設定します。つまり、基本的にiframeのコンテンツを2回ロードしています。高さを取得するためだけにajaxを通過し、実際のiframeを通過します。

iframeが必要である理由は実際にはわかりません。最初の段落のプロセスは正常に機能するはずです。

于 2013-02-27T03:22:25.800 に答える