0

我有一个网络应用程序,在用户执行一项功能后,他们会收到一条通知,告知他们所做的一切是否成功。对于每个函数,我$message使用以下代码声明了作为通知回显的变量:

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

我的问题是,出于样式目的,此应用程序需要iframe位于 index.php 内部。通知是样式化的position: absolute; right: 0,但显然它被限制在框架内,而它需要在框架外,因此它与设计一起流动(在框架外执行)。

我尝试将上面的相同代码与 php 一起使用,include但我没有得到任何输出,大概是因为isset返回 NULL,因为该函数没有在 index.php 中执行。

所以我的问题是,我可以捕获 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 回答