PHP“标头(位置)”在 IFRAME 内部,加载到 _top 位置?
我有一个简单的表单,位于 IFRAME 内。当用户单击“提交”时,它会重定向到我的服务器上的特定页面。我用于重定向的函数是
header ('Location: mypage2.html');
exit ();
但我希望新页面在 _top 位置打开,而不是在我使用的同一 IFRAME 内。如何告诉浏览器在 _top 中而不是 IFRAME 中打开新页面? 提前致谢。
I have a simple form which is inside IFRAME. When user click on SUBMIT, it redirects to a specific page on my server. The function I use for the redirect is
header ('Location: mypage2.html');
exit ();
But I want the new page to open in _top location, not inside the same IFRAME that I use. How can I tell the browser to open the new page in _top not inside the IFRAME?
Thanks in advance.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
在 PHP 中你无法达到预期的效果。这是您必须通过 JavaScript 执行的操作,或者将
target
属性添加到You are not able to achieve the desired effect in PHP. This is something you'd have to do from JavaScript or add
target
attribute to<form>
:直接在 PHP 中重定向父页面而不是 iframe 的简单方法:
die;
不一定是必需的,但“以防万一”可以很好地防止脚本继续继续,例如,如果用户浏览器中禁用了 javascript。A simple way directly in PHP to redirect the parent page rather than the iframe:
The
die;
isn't necessarily necessary, but it is good "just in case" to prevent the script from continuing any further, for example, if javascript is disabled in the user's browser.您可以使用 javascript 访问父级。你可以在你的PHP中回显javascript..所以你的父页面有这个:
在你的php脚本中,你回显
你不能调用parent.document.location的原因是因为它是只读的 - 你必须有一个可用的函数交给家长去做。
You can use javascript to access the parent. You could echo out javascript in your PHP.. so your parent page has this:
and in your php script, you echo
The reason you can't call parent.document.location is because it's read only - you have to have a function available on the parent to do it.
我们可以像这样使用 JavaScript:
we can use javascript like this :
最好和最简单的做法是使用表单目标元素,
任何一个目标参数都可以正常工作
The best and simplest thing to do is to use the form target element
either of the target parameters works fine
您可以使用
Break Out
链接到该页面,也可以使用代码您然后在 header 中使用以下代码页面与
You can either link to the page using
<a href="pagename.php?Break=Y">Break Out</a>
or use codeYou then use the following code in the header of the page with
在_top中要加载的页面中,在标题中添加以下代码
In the page that you want to load in _top, add the follow code in the header
对于 CakePHP 4,要重定向您的父页面,只需在 iframe 的链接中添加选项
'target'=>'_top'
:示例:
祝一切顺利!
For CakePHP 4, to redirect your parent page just add option
'target'=>'_top'
in your iframe's link:Example:
All the best!
您可以向重定向添加多个标头。
我使用了一个我为此创建的小函数。
You can add multiple headers to your redirect.
I use a little function that I created with this in mind.