0

私は、ユーザーが機能を実行した後、何をしても成功したかどうかを示す通知を受け取る Web アプリを持っています。$messageすべての関数について、次のコードを使用して通知としてエコーアウトする変数を宣言しました。

if(isset($message)) {
 echo "<div id='notification'>" . $message . "</div>"

私の問題は、スタイリングの目的で、このアプリがiframeindex.php 内にある必要があることです。通知はスタイル設定されていますposition: absolute; right: 0が、明らかにフレーム内に限定されていますが、フレームの外側にある必要があるため、デザインに沿って流れます (フレームの外側で実行されます)。

上記の同じコードを php で使用してみましたが、関数が index.php 内で実行されないために NULL が返さincludeれるため、出力がまったく得られません。isset

だから私の質問は、php出力をキャプチャしてindex.phpにエコーするか、フレームの外側でiframe要素( )を実行できるかということです。#notification

ありがとう。誰かが別の回避策を知っていれば、それは大歓迎です。私はPHPにも比較的慣れていないので、説明も大歓迎です。

4

2 に答える 2

0
<iframe src="put_here_your_iframe_url.php?msg=<?echo urlencode($message);?>" ></iframe>

そしてiframeで

次の行でメッセージを表示します。

echo 'Message: '.urldecode($_GET['msg']);
于 2013-01-13T20:22:45.260 に答える
0

iframe 境界ボックスの外にコンテンツを配置することはできません。

iframe コンテンツとその親ページの両方が同じドメインでホストされている場合、単純な JavaScript を使用して iframe から親ページにメッセージを渡すことができます。

親ページ:

<div id="msg"></div>

<script>
var displayNotification = function( message ){ document.getElementById('msg').innerHTML = message; }
</script>

PHP スクリプトの変更

if(isset($message)) {
echo "<script> top.displayNotification(" . $message . ");</script>";
于 2013-01-13T20:28:38.440 に答える