我有一个网络应用程序,在用户执行功能之后,他们会收到通知,告知他们是否成功,无论他们做了什么。对于每个函数,我已经声明了变量$message
,它使用以下代码作为通知回显:
if(isset($message)) {
echo "<div id='notification'>" . $message . "</div>"
我的问题是,出于样式设计,此应用需要位于index.php内的iframe
内。通知的样式为position: absolute; right: 0
但显然它被限制在框架内,而它需要在框架之外,因此它随设计一起流动(在框架外执行)。
我尝试使用上面与php include
相同的代码,但我没有得到任何输出,大概是因为isset
返回NULL,因为函数没有在index.php中执行。
所以我的问题是,我可以捕获php输出并在index.php中回显它,或者在它的框架外运行iframe
元素(#notification
)。
感谢。如果有人知道另外的工作,那将是受欢迎的。我也是PHP的新手,所以也欢迎解释。
答案 0 :(得分:0)
<iframe src="put_here_your_iframe_url.php?msg=<?echo urlencode($message);?>" ></iframe>
和iframe
你将用这一行显示消息:
echo 'Message: '.urldecode($_GET['msg']);
答案 1 :(得分: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>";