不能使用cakephp3在iframe外重定向

时间:2017-08-20 11:23:45

标签: cakephp cakephp-3.0

我有一个应用程序,我需要重定向到一个网站(例如下面的例子)。我的问题是cakephp3应用程序嵌入在wordpress iframe中,由于某种原因,下面的命令在iframe中执行,所以我在网页中有一个网页。如何重定向到iframe外的网页?

//controller
if ....
    return  $this->redirect('http://www.xxxxxx/thank-you-application/');

1 个答案:

答案 0 :(得分:0)

  • 在拉斯维加斯发生的事情,留在拉斯维加斯
  • 在iframe中发生了什么,留在那个iframe

我不认为使用PHP(以及任何PHP框架)可以实现您的目标, 也许通过以下方式获取要在iframe中加载的页面内容:

$http = new Client();
$response = $http->get('http://example.com');
$content = $response->body();

并将$内容放在"顶级页面/不在iframe内#34; (就像他们在金融网站上所做的那样),但我不确定确切的方式。

最简单的解决方案是在控制器中向视图发送一个值($ redirect = true),该视图会说:"嘿!查看,PLZ打开此链接到顶级窗口! /表示在iframe之外"。

在您的视图(或模板)中写下这样的内容:

<!-- ... -->
 <?php if($redirect) : ?> 
 <body onload="javascript:window.top.location.href='<?= $this->Url->build([
    "controller" => "Pages",
    "action" => "display",
    "thank-you"
     ]) ?>'";>
<?php else: ?>
<body>
<?php endif; ?>
<!-- ... -->

希望有所帮助