如何在我现有的应用程序中有条件地使用iframe的源代码和渲染元素?

问题描述 投票:0回答:1

我有一个Laravel PHP应用程序。它的网址一直是site1.example.com。

我正在开发一个新网站,我想暂时在新网站上的iframe中显示来自旧网站的内容(我知道有更好的替代方式来移动或转换内容,但我必须使用iframe,因为其他限制)。

我需要能够从旧网站上剥离页眉和页脚,并在iframe中显示来自旧网站的简单无格式内容。

同事在旧网站的模板中尝试使用php中的以下内容来检测请求的来源,并仅渲染所需的模板部分。

if ($_SERVER['SERVER_NAME'] == 'site1.example.com')
{
…
}

显然,这不起作用,因为请求来自site1.example.com,无论它是直接从浏览器加载还是从iframe加载。

如何检查网站是否通过site2.example.com上的iframe加载并相应地有条件地呈现?

javascript php html laravel iframe
1个回答
0
投票
  • 方法1:

在框架内部使用JavaScript window.parent.location来获取父窗口的url。然后show()hide()元素相对于url使用JavaScript。

  • 方法2:

通过在<iframe>中添加querystring变量来打开url。一旦获得变量,将其保存为会话cookie,并在每个页面中检查该会话cookie以确定。例如。

<iframe src="mysite.com?q=iframe" />

© www.soinside.com 2019 - 2024. All rights reserved.